Introduction aux fonctions intégrées de la ruche

Les fonctions sont conçues pour effectuer différentes exigences analytiques et opérations telles que mathématiques, logiques, arithmétiques et relationnelles, sur d'énormes ensembles de données et tableaux. Les fonctions sont utilisées lorsque nous devons réutiliser plusieurs fois des opérations similaires. Dans ce monde avancé de BigData, pour gérer et traiter d'énormes ensembles de données, l'écriture de programmes MapReduce devient difficile. Ainsi, Hive Query Language (HQL) a été introduit en plus d'Apache Hadoop en octobre 2010, à l'aide duquel nous pouvons facilement exécuter des requêtes, similaires aux SQL. Les HQL sont ensuite convertis en interne en programmes Mapreduce pour produire les résultats. Dans cette rubrique, nous allons discuter des fonctions intégrées de la ruche.

Les fonctions de la ruche sont généralement classées en deux:

  1. Fonctions intégrées
  2. Fonctions définies par l'utilisateur

Fonctions intégrées de Hive

Les fonctions intégrées sont prédéfinies et facilement disponibles pour être utilisées dans Hive. Ils sont classés comme suit:

1. Fonctions de chaîne

Utilisé pour les manipulations et les transformations de chaînes.

Nom de la fonctionType de retourLa descriptionExemple
substr (chaîne, int, int)ChaîneIl renvoie une chaîne de la position de départ spécifiée à la longueur spécifiéesubstr ('Hive query', 5, 5) aboutit à 'query'
rtrim (chaîne X)ChaîneIl renvoie une chaîne sans espaces à droitertrim ('Hello') se traduit par 'Hello'
ltrim (chaîne X)ChaîneIl renvoie une chaîne sans espaces à gaucheltrim ('Hello') se traduit par 'Hello'
inverse (chaîne X)ChaîneIl renvoie une chaîne inversée de Xreverse ('hello') donne 'olleh'
rpad (chaîne X, int, chaîne)ChaîneIl renvoie une chaîne rembourrée droite avec 'pad' à une longueur derpad ('Bonjour', 3, 'salut') donne 'Bonjour salut salut salut'
lpad (chaîne X, int, chaîne)ChaîneIl renvoie une chaîne rembourrée gauche avec 'pad' à une longueur delpad ('Hello', 3, 'Hi') donne 'Hi Hi Hi Hello'
split (string X, string pat)ArrayIl renvoie un tableau de chaînes après avoir divisé la chaîne autour du modèle spécifiésplit ("A, B, C, D", ", ") donne ('A', B ', ' C ', ' D ')
longueur (chaîne X)EntierIl renvoie la longueur de la chaîne Xlength ('Bigdata') donne 7
concat (chaîne X, chaîne Y)ChaîneIl renvoie une chaîne concaténée de X et Yconcat ('Hello', 'World') donne 'HelloWorld'

2. Fonctions mathématiques

Utilisé pour appliquer des opérations mathématiques comme l'arrondi, le plafond, le revêtement de sol, etc. au lieu de créer des FDU.

Nom de la fonctionType de retourLa descriptionExemple
rond (double X)DoubleIl renvoie la valeur arrondie de Xronde (29, 5) donne 30
rond (double X, Int d)DoubleIl renvoie la valeur arrondie de X à d décimalesronde (29.3456, 2) donne 29, 34
plafond (double X)DoubleIl renvoie une valeur BIGINT minimale égale ou supérieure à Xceil (20, 5555) donne 21
plancher (double X)DoubleIl renvoie une valeur BIGINT maximale égale ou supérieure à Xceil (20, 5555) donne 20
rand()DoubleIl renvoie des nombres aléatoires entre 0 et 9rand () résulte en rand (0-9)
abs (double X)DoubleIl renvoie la valeur absolue du nombre Xabs (-25) donne 25
pow (double X, double Y)DoubleIl renvoie la valeur X élevée à la puissance Ypow (2, 3) donne 8
exp (double X)DoubleIl renvoie la valeur de l'exposant de Xexp (2) donne 7, 389

3. Fonctions conditionnelles

Utilisé pour vérifier une expression pour True ou False et renvoie les résultats correspondants.

Nom de la fonctionType de retourLa descriptionExemple
isnull (X)BooléenIl retourne TRUE si X est NULL sinon falseisnull ('NULL') renvoie TRUE
isnotnull (X)BooléenIl retourne TRUE si X n'est pas NULL sinon falseisnotnull ('NULL') retourne en FAUX
nvl (arg X, arg Y)ChaîneIl retourne arg Y si arg X est NULL sinon retourne arg Xnvl ('NULL', 'Value is Null') donne 'Value is Null'
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)TIl renvoie True lorsque la condition de test est vraie et False ou Null sinonif (2 = 2, 'True', 'False')
fusionner (X, Y)(Tout)Il renvoie les premières valeurs non nulles de la liste (J'ai un doute là-dessus - va-t-il retourner la toute première valeur ou toutes les valeurs non nulles?)coalesce (null, null, null, 1, 5, null, null, 6) donne 1

4. Fonctions de date

Utilisé pour effectuer des manipulations de date et des conversions de type de date.

Nom de la fonctionType de retourLa descriptionExemple
date actuelleDateIl renvoie la date actuelle d'exécution de la requêtecurrent_date () renvoie la date du jour
unix_timestamp ()BigIntIl retourne l'horodatage unix actuel de l'exécution de la requête en quelques secondesunix_timestamp () renvoie l'horodatage Unix actuel
année (date de chaîne)IntIl renvoie l'année partie d'une dateannée ('1994-11-24') renvoie 1994
trimestre (date de chaîne)IntIl renvoie le trimestre de l'année d'une datetrimestre ('1994-11-24') renvoie 4
mois (date de chaîne)IntIl renvoie la partie mois d'une datemois ('1994-11-24') renvoie 11
heure (date de chaîne)IntIl renvoie la partie heure de l'horodatageheure ('1994-11-24 12:45:23') renvoie 12
minute (date de chaîne)IntIl renvoie la partie minute de l'horodatageannée ('1994-11-24 12:45:23') renvoie 45
à ce jour()ChaîneIl renvoie la partie date de la chaîne d'horodatageto_date () renvoie la partie date
date_sub (date de chaîne, int jours)ChaîneIl renvoie la soustraction du nombre de jours à la datedate_sub ('1994-11-24', 20) renvoie '1994-11-04'
mois_entre (date1, date2)DoubleIl renvoie le nombre de mois entre date1 et date2 (mois ou nombre de jours?)months_between ('1994-11-24 ′, ' 1994-11-04 ') renvoie 20

5. Fonction de collecte

Utilisé pour transformer et récupérer des parties de types de collection comme la carte, le tableau, etc.

Nom de la fonctionType de retourLa descriptionExemple
taille (carte)IntIl renvoie le nombre total d'éléments dans la cartesize (('a': 2, 'b': 6)) renvoie 2
taille (tableau)IntIl renvoie le nombre total d'éléments dans le tableautaille ((1, 3, 4, 7)) renvoie 4
array_contains (tableau, valeur)BooléenIl retourne vrai si le tableau contient la valeurarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) renvoie TRUE
map_keys (carte)ArrayIl renvoie un tableau non ordonné de clés de la cartemap_keys (('a': 2, 'b': 6, 'c': 1)) renvoie ('b', 'c', 'a')
map_valuess (carte)ArrayIl renvoie un tableau non ordonné de valeurs de la cartemap_keys (('a': 2, 'b': 6, 'c': 1)) renvoie (1, 6, 2)
sort_array (tableau)ArrayIl retourne un tableau trié du tableau donnésort_array ((1, 3, 9, 8, 5, 4, 7)) renvoie (1, 3, 4, 5, 7, 8, 9)

Conclusion

Jusqu'à présent, nous avons discuté des différentes fonctions intégrées dans Hive. Comparé à MapReduce, Hive est plus pratique et permet de gagner du temps. Quiconque possède des connaissances de base en SQL peut facilement écrire des HQL plutôt que des programmes MapReduce compliqués pour le traitement des données.

Articles recommandés

Ceci est un guide des fonctions intégrées de la ruche. Nous discutons ici des fonctions intégrées qui sont prédéfinies et facilement disponibles pour être utilisées dans Hive. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Fonctions de chaîne de ruche
  2. Fonction ruche
  3. Commandes Hive
  4. Architecture de la ruche
  5. Ordre de ruche par
  6. Installation de ruche
  7. Fonctions intégrées Python