Tutoriel HiveQL (Hive Query Language): Opérateurs intégrés

Table des matières:

Anonim

Qu'est-ce que HiveQL (Hive Query Language)?

Hive fournit une CLI pour écrire des requêtes Hive à l'aide du langage de requête Hive (HiveQL). En général, la syntaxe HQL est similaire à la syntaxe SQL que la plupart des analystes de données connaissent.

Le langage inspiré de SQL de Hive sépare l'utilisateur de la complexité de la programmation de Map Reduce. Il réutilise des concepts familiers du monde des bases de données relationnelles, tels que les tables, les lignes, les colonnes et le schéma, pour faciliter l'apprentissage.

La plupart des interactions ont tendance à avoir lieu via une interface de ligne de commande (CLI). Hive fournit une CLI pour écrire des requêtes Hive à l'aide du langage de requête Hive (Hive-QL).

En général, la syntaxe HiveQL est similaire à la syntaxe SQL que la plupart des analystes de données connaissent. Hive prend en charge quatre formats de fichiers: TEXTFILE, SEQUENCEFILE, ORC et RCFILE (Record Columnar File).

  • Pour le stockage de métadonnées mono-utilisateur, Hive utilise la base de données derby et
  • Pour les métadonnées de plusieurs utilisateurs ou les métadonnées partagées, Hive utilise MYSQL

Opérateurs intégrés

Hive fournit des opérateurs intégrés pour les opérations de données à implémenter sur les tables présentes à l'intérieur de l'entrepôt Hive.

Ces opérateurs sont utilisés pour les opérations mathématiques sur les opérandes, et il renverra une valeur spécifique selon la logique appliquée.

Les types d'opérateurs intégrés dans HIVE sont:

  • Opérateurs relationnels
  • Opérateurs arithmétiques
  • Opérateurs logiques
  • Opérateurs sur les types complexes
  • Constructeurs de type complexe

Opérateurs relationnels:

Nous utilisons des opérateurs relationnels pour les comparaisons de relations entre deux opérandes.

  • Opérateurs tels que égal, non égal, inférieur à, supérieur à… etc.
  • Les types d'opérande sont tous les types de nombres dans ces opérateurs.

Le tableau suivant nous donnera des détails sur les opérateurs relationnels et leur utilisation.

Opérateur intégré Description Opérande
X = Y TRUE si l'expression X est équivalente à l'expression Y Sinon FALSE. Il prend tous les types primitifs
X! = Y TRUE si l'expression X n'est pas équivalente à l'expression Y Sinon FALSE. Il prend tous les types primitifs
X TRUE si l'expression X est inférieure à l'expression Y Sinon FALSE. Il prend tous les types primitifs
X <= Y TRUE si l'expression X est inférieure ou égale à l'expression Y Sinon FALSE. Il prend tous les types primitifs
X> Y TRUE si l'expression X est supérieure à l'expression Y Sinon FALSE. Il prend tous les types primitifs
X> = Y TRUE si l'expression X est supérieure ou égale à l'expression Y Sinon FALSE. Il prend tous les types primitifs
X EST NULL TRUE si l'expression X est évaluée à NULL sinon FALSE. Il en faut tous les types
X N'EST PAS NULL FALSE Si l'expression X est évaluée à NULL, sinon TRUE. Il en faut tous les types
X COMME Y TRUE Si le modèle de chaîne X correspond à Y sinon FALSE. Prend uniquement des cordes
X RLIKE Y NULL si X ou Y est NULL, TRUE si une sous-chaîne de X correspond à l'expression régulière Java Y, sinon FALSE. Prend uniquement des cordes
X REGEXP Y Identique à RLIKE. Prend uniquement des cordes

Opérateurs arithmétiques :

Nous utilisons des opérateurs arithmétiques pour effectuer des opérations arithmétiques sur les opérandes

  • Les opérations arithmétiques telles que l'addition, la soustraction, la multiplication et la division entre les opérandes, nous utilisons ces opérateurs.
  • Les types d'opérande sont tous des types de nombres dans ces opérateurs

Exemple d'exemple:

2 + 3 donne le résultat 5.

Dans cet exemple, «+» est l'opérateur et 2 et 3 sont des opérandes. La valeur de retour est 5

Le tableau suivant nous donnera des détails sur les opérateurs arithmétiques

Opérateur intégré Description Opérande
X + Y Il retournera la sortie de l'ajout de la valeur X et Y. Il prend tous les types de nombres
X - Y Il renverra la sortie de la soustraction de Y de la valeur X. Il prend tous les types de nombres
X * Y Il renverra la sortie de la multiplication des valeurs X et Y. Il prend tous les types de nombres
X / Y Il renverra la sortie de la division de Y de X. Il prend tous les types de nombres
X% Y Il renverra le reste résultant de la division de X par Y. Il prend tous les types de nombres
X et Y Il renverra la sortie de ET au niveau du bit de X et Y. Il prend tous les types de nombres
X | Oui Il renverra la sortie du OU au niveau du bit de X et Y. Il prend tous les types de nombres
X Y Il renverra la sortie du XOR au niveau du bit de X et Y. Il prend tous les types de nombres
~ X Il renverra la sortie de NOT au niveau du bit de X. Il prend tous les types de nombres

Opérateurs logiques:

Nous utilisons des opérateurs logiques pour effectuer des opérations logiques sur des opérandes

  • Les opérations logiques telles que ET, OU, PAS entre les opérandes, nous utilisons ces opérateurs.
  • Les types d'opérande sont tous de type BOOLEAN dans ces opérateurs

Le tableau suivant nous donnera des détails sur les opérateurs logiques

Les opérateurs Description Opérandes
X ET Y VRAI si X et Y sont tous les deux VRAI, sinon FAUX. Types booléens uniquement
X && Y Identique à X ET Y mais ici nous utilisons le symbole && Types booléens uniquement
X OU Y TRUE si X ou Y ou les deux sont TRUE, sinon FALSE. Types booléens uniquement
X || Oui Identique à X OU Y mais ici on utilise || symbole Types booléens uniquement
PAS X TRUE si X est FALSE, sinon FALSE. Types booléens uniquement
!X Identique à NOT X mais ici nous utilisons! symbole Types booléens uniquement

Opérateurs sur les types complexes:

Le tableau suivant nous donnera des détails sur les opérateurs de type complexe. Ce sont des opérateurs qui fourniront un mécanisme différent pour accéder aux éléments de types complexes.

Les opérateurs Opérandes Description
Une] A est un tableau et n est un type entier Il renverra le nième élément du tableau A. Le premier élément a un index de 0
M [clé] M est une carte et la clé est de type K Il renverra les valeurs appartenant à la clé dans la carte

Constructeurs de type complexe:

Le tableau suivant nous donnera des détails sur les constructeurs de type complexe. Il construira des instances sur des types de données complexes. Il s'agit de types de données complexes tels que les types Array, Map et Struct dans Hive.

Dans cette section, nous allons voir les opérations effectuées sur les constructeurs de type complexe.

Les opérateurs Opérandes Description
déployer (val1, val2,…) Il créera un tableau avec les éléments donnés comme mentionné comme val1, val2
Create_ union (balise, val1, val2,…) Cela créera un type d'union avec les valeurs mentionnées par le paramètre de balise
carte (clé1, valeur1, clé2, valeur2,…) Il créera une carte avec les paires clé / valeur données mentionnées dans les opérandes
Named_struct (nom1, val1, nom2, val2,…) Il créera une structure avec les noms de champ donnés et les valeurs mentionnées dans les opérandes
STRUCT (val1, val2, val3,…) Crée un Struct avec les valeurs de champ données. Les noms de champ Struct seront col1, col2,.

Résumé:

Hive fournit des fonctions et des opérateurs intégrés pour manipuler les données stockées dans l'entrepôt Hive. Hive est similaire au langage SQL, qui prend en charge tous les types d'opérations de données et d'interrogation sur les tables et les bases de données.