Principales commandes Hive avec des exemples en HQL

Ce blog traite des commandes Hive avec des exemples en HQL. CREATE, DROP, TRUNCATE, ALTER, SHOW, DESCRIBE, USE, LOAD, INSERT, JOIN et bien d'autres commandes Hive

Dans cet article de blog, examinons les principales commandes Hive avec des exemples. Ces commandes Hive sont très importantes pour mettre en place les bases de .



Le guide des carrières techniques Edureka 2019 est sorti! Les rôles les plus chauds, les parcours d'apprentissage précis, les perspectives de l'industrie et plus encore dans le guide. Télécharger maintenant.

Qu'est-ce que Hive?

Apache Hive est un système d'entrepôt de données conçu pour fonctionner sur Hadoop. Il est utilisé pour interroger et gérer de grands ensembles de données résidant dans le stockage distribué. Avant de devenir un projet open source d'Apache Hadoop, Hive était originaire de Facebook. Il fournit un mécanisme pour projeter la structure sur les données dans Hadoop et pour interroger ces données à l'aide d'un langage de type SQL appelé HiveQL (HQL).



Hive est utilisé car les tables de Hive sont similaires aux tables d'une base de données relationnelle. Si vous êtes familier avec SQL, c'est un jeu d'enfant. De nombreux utilisateurs peuvent interroger simultanément les données à l'aide de Hive-QL.

Qu'est-ce que HQL?

Hive définit un langage de requête simple de type SQL pour interroger et gérer de grands ensembles de données appelé Hive-QL (HQL). Il est facile à utiliser si vous connaissez le langage SQL. Hive permet aux programmeurs familiarisés avec le langage d'écrire le framework MapReduce personnalisé pour effectuer une analyse plus sophistiquée.



Utilisations de la ruche:

1. Le stockage distribué Apache Hive.

2. Hive fournit des outils permettant d'extraire / transformer / charger facilement les données (ETL)

3. Il fournit la structure sur une variété de formats de données.



4. En utilisant Hive, nous pouvons accéder aux fichiers stockés dans Hadoop Distributed File System (HDFS est utilisé pour interroger et gérer de grands ensembles de données résidant dans) ou dans d'autres systèmes de stockage de données tels qu'Apache HBase.

Limitations de Hive:

& bull Hive n'est pas conçu pour le traitement des transactions en ligne (OLTP), il est uniquement utilisé pour le traitement analytique en ligne.

& bull Hive prend en charge l'écrasement ou l'appréhension des données, mais pas les mises à jour et les suppressions.

& bull Dans Hive, les sous-requêtes ne sont pas prises en charge.

Pourquoi Hive est-il utilisé malgré Pig?

Voici les raisons pour lesquelles Hive est utilisé malgré la disponibilité de Pig:

  • Hive-QL est un langage de langage déclaratif SQL, PigLatin est un langage de flux de données.
  • Pig: un langage et un environnement de flux de données pour explorer de très grands ensembles de données.
  • Hive: un entrepôt de données distribué.

Composants de Hive:

Metastore:

Hive stocke le schéma des tables Hive dans un métastore Hive. Metastore est utilisé pour contenir toutes les informations sur les tables et les partitions qui se trouvent dans l'entrepôt. Par défaut, le métastore est exécuté dans le même processus que le service Hive et le métastore par défaut est DerBy Database.

SerDe:

Serializer, Deserializer donne des instructions pour savoir comment traiter un enregistrement.

Commandes Hive:

Langage de définition de données (DDL)

Les instructions DDL sont utilisées pour créer et modifier les tables et autres objets de la base de données.

Commande DDL Fonction
CRÉER Il est utilisé pour créer une table ou une base de données
MONTRER Il est utilisé pour afficher la base de données, la table, les propriétés, etc.
ÂGE Il est utilisé pour apporter des modifications à la table existante
DÉCRIS Il décrit les colonnes du tableau
TRONQUER Utilisé pour tronquer et supprimer définitivement les lignes du tableau
EFFACER Supprime les données du tableau, mais peut être restauré

Accédez au shell Hive en donnant la commande sudo hive et entrez la commande 'créer base de données nom> » pour créer la nouvelle base de données dans la ruche.

Créer une base de données Hive à l

Pour répertorier les bases de données dans l'entrepôt Hive, entrez la commande ' afficher les bases de données ».

La base de données crée dans un emplacement par défaut de l'entrepôt Hive. Dans Cloudera, la base de données Hive stocke dans un / user / hive / entrepôt.

La commande pour utiliser la base de données est UTILISATION

message contextuel de script java

Copiez les données d'entrée vers HDFS à partir de local à l'aide de la commande copier à partir de local.

Lorsque nous créons une table dans la ruche, elle la crée à l'emplacement par défaut de l'entrepôt de la ruche. - «/ user / hive / warehouse», après la création de la table, nous pouvons déplacer les données de HDFS vers la table hive.

La commande suivante crée une table avec à l'emplacement «/user/hive/warehouse/retail.db»

Remarque : retail.db est la base de données créée dans l'entrepôt Hive.

Décris fournit des informations sur le schéma de la table.

Langage de manipulation de données (DML)

Les instructions DML sont utilisées pour récupérer, stocker, modifier, supprimer, insérer et mettre à jour des données dans la base de données.

Exemple :

LOAD, INSERT Déclarations.

Syntaxe:

CHARGER le chemin d'entrée des données dans la table [nom_table]

L'opération de chargement est utilisée pour déplacer les données dans la table Hive correspondante. Si le mot-clé local est spécifié, puis dans la commande de chargement donnera le chemin du système de fichiers local. Si le mot-clé local n'est pas spécifié, nous devons utiliser le chemin HDFS du fichier.

Voici quelques exemples de la commande LOAD data LOCAL

Après avoir chargé les données dans la table Hive, nous pouvons appliquer les instructions de manipulation de données ou les fonctions d'agrégation pour récupérer les données.

Exemple pour compter le nombre d'enregistrements:

La fonction d'agrégation de comptage est utilisée pour compter le nombre total d'enregistrements dans une table.

Table «create external»:

La créer externe Le mot clé est utilisé pour créer une table et fournit un emplacement où la table sera créée, de sorte que Hive n'utilise pas d'emplacement par défaut pour cette table. Une EXTERNE La table indique n'importe quel emplacement HDFS pour son stockage, plutôt que le stockage par défaut.

Insérer une commande:

La insérer La commande est utilisée pour charger la table de données Hive. Les insertions peuvent être effectuées sur une table ou une partition.

& bull INSERT OVERWRITE est utilisé pour écraser les données existantes dans la table ou la partition.

& bull INSERT INTO est utilisé pour ajouter les données aux données existantes dans une table. (Remarque: la syntaxe INSERT INTO fonctionne à partir de la version 0.8)

Exemple de commande 'Partitionné par' et 'Clustered par':

«Partitionné par «Est utilisé pour diviser le tableau en partition et peut être divisé en seaux à l’aide de l’option« Regroupé par «Commande.

Lorsque nous insérons les erreurs de lancement de données Hive, le mode de partition dynamique est strict et la partition dynamique n'est pas activée (par Jeff à site de dresshead ). Nous devons donc définir les paramètres suivants dans le shell Hive.

set hive.exec.dynamic.partition = true

Pour activer les partitions dynamiques, par défaut, il est faux

type de données date dans l'exemple SQL

set hive.exec.dynamic.partition.mode = non stricte

La partition est effectuée par catégorie et peut être divisée en compartiments à l’aide de la commande «Clustered By».

L’instruction ‘Drop Table’ supprime les données et les métadonnées d’une table. Dans le cas des tables externes, seules les métadonnées sont supprimées.

L’instruction ‘Drop Table’ supprime les données et les métadonnées d’une table. Dans le cas des tables externes, seules les métadonnées sont supprimées.

Chargez les données locales dans le chemin d’entrée «aru.txt» dans la table nom_table, puis nous vérifions la table employee1 en utilisant la commande Select * from table name

Pour compter le nombre d'enregistrements dans la table à l'aide de Sélectionner compter(*) depuis txnrecords

Agrégation:

Sélectionnez le nombre (catégorie DISTINCT) dans le nom de la table

Cette commande comptera les différentes catégories de la table «cate». Ici, il y a 3 catégories différentes.

Supposons qu'il existe une autre table cate où f1 est le nom de champ de la catégorie.

Regroupement:

La commande Group est utilisée pour regrouper le jeu de résultats par une ou plusieurs colonnes.

Sélectionnez la catégorie, somme (montant) à partir des enregistrements txt, groupe par catégorie

Il calcule le montant de la même catégorie.

Le résultat d'une table est stocké dans une autre table.

Créer la table newtablename comme select * from oldtablename

Rejoindre la commande:

Ici, une autre table est créée dans le nom «Mails»

Rejoindre l'opération :

Une opération de jointure est effectuée pour combiner des champs de deux tables en utilisant des valeurs communes à chacune.

Jointure externe gauche :

Le résultat d'une jointure externe gauche (ou simplement une jointure gauche) pour les tables A et B contient toujours tous les enregistrements de la table «gauche» (A), même si la condition de jointure ne trouve aucun enregistrement correspondant dans la table «droite» (B).

Jointure externe droite :

Une jointure externe droite (ou jointure droite) ressemble étroitement à une jointure externe gauche, sauf si le traitement des tables est inversé. Chaque ligne de la table «droite» (B) apparaîtra dans la table jointe au moins une fois.

Joindre complet :

La table jointe contiendra tous les enregistrements des deux tables et remplira les valeurs NULL pour les correspondances manquantes de chaque côté.

Une fois terminé avec la ruche, nous pouvons utiliser la commande quit pour quitter le shell de la ruche.

Sortie de Hive

Hive n'est qu'une partie du grand puzzle appelé Big Data et Hadoop. Hadoop est bien plus que simplement Hive. Cliquez ci-dessous pour voir quelles autres compétences vous devez maîtriser dans Hadoop.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.

Articles Similaires:

7 façons dont la formation Big Data peut changer votre organisation

Modèles de données Hive