Introducere în funcțiile încorporate din stup

Funcțiile sunt construite pentru a efectua diferite cerințe și operații analitice precum matematica, logica, aritmetica și relațională, pe seturi de date și tabele uriașe. Funcțiile sunt utilizate atunci când trebuie să reutilizăm de mai multe ori operațiuni similare. În această lume avansată BigData, pentru a gestiona și procesa seturi de date uriașe, scrierea programelor MapReduce devine dificilă. Deci, Hive Query Language (HQL) a fost introdus în topul Apache Hadoop în octombrie 2010, folosind care putem executa cu ușurință interogări, similare cu cele SQL. HQL-urile sunt convertite în continuare în programe Mapreduce pentru a produce rezultatele. În acest subiect, vom discuta despre funcțiile încorporate stupului.

Funcțiile stupului sunt clasificate, în linii mari, în două:

  1. Funcții încorporate
  2. Funcții definite de utilizator

Funcții încorporate ale stupului

Funcțiile încorporate sunt predefinite și sunt ușor disponibile pentru a fi utilizate în stup. Acestea sunt clasificate ca mai jos:

1. Funcții cu șiruri

Folosit pentru manipulări și transformări cu coarde.

Numele funcțieiTip returDescriereExemplu
substr (string, int, int)ŞirÎntoarce un șir din poziția de început specificată la lungimea specificatăsubstr („interogare stupă”, 5, 5) are ca rezultat „interogare”
rtrim (șirul X)ŞirÎntoarce un șir fără spații de conducere dreaptartrim ('Hello') are ca rezultat 'Hello'
ltrim (șirul X)ŞirÎntoarce un șir fără spații de conducere stângiltrim ('Hello') are ca rezultat 'Hello'
invers (șir X)ŞirSe returnează un șir invers de Xinvers („salut”) rezultă în „olleh”
rpad (șir X, int, șir)ŞirÎntoarce un șir captusit din dreapta cu „pad” la o lungime derpad ('Hello', 3, 'hi') rezultă în 'Hello hi hi hi'
lpad (șir X, int, șir)ŞirÎntoarce un șir captusit stâng cu „pad” la o lungime delpad ('Hello', 3, 'Hi') are ca rezultat 'Hi Hi Hi Hello Hello'
split (string X, string pat)mulțimeAcesta returnează o serie de șiruri după împărțirea șirului în modelul specificatsplit ("A, B, C, D", ", ") rezultă în ("A", B ", " C ", " D ")
lungime (șir X)ÎntregSe returnează lungimea șirului Xlungimea („Bigdata”) rezultă în 7
concat (șirul X, șirul Y)ŞirSe întoarce un șir concatenat atât de X cât și de Yconcat ('Hello', 'World') rezultă în 'HelloWorld'

2. Funcții matematice

Folosit pentru aplicarea operațiunilor matematice precum rotunjirea, tavanul, podeaua etc., în loc să creeze UDF-uri.

Numele funcțieiTip returDescriereExemplu
rotund (dublu X)DublaReturnează valoarea rotunjită a lui Xrunda (29, 5) rezultă în 30
rotund (dublu X, Int d)DublaÎntoarce valoarea rotunjită a lui X în z zecimalerunda (29.3456, 2) are ca rezultat 29.34
plafonul (dublu X)DublaReturnează o valoare minimă BIGINT care este egală sau mai mare decât Xplafonul (20.5555) rezultă în 21
podea (dublu X)DublaÎntoarce o valoare maximă BIGINT care este egală sau mai mare decât Xplafonul (20.5555) rezultă în 20
rand ()DublaÎntoarce numere aleatorii între 0 și 9rand () rezultate în rand (0-9)
abs (dublu X)DublaSe returnează valoarea absolută a numărului Xabs (-25) rezultă în 25
pow (dublu X, dublu Y)DublaAcesta returnează valoarea X ridicată la puterea Ypow (2, 3) are ca rezultat 8
exp (dublu X)DublaÎntoarce valoarea exponentă a lui Xexp (2) are ca rezultat 7.389

3. Funcții condiționale

Folosit pentru a verifica o expresie pentru True sau False și returnează rezultatele corespunzătoare.

Numele funcțieiTip returDescriereExemplu
isnull (X)booleanSe returnează TRUE dacă X este NULL altceva falsisnull („NULL”) se întoarce în TRUE
isnotnull (X)booleanSe returnează TRUE dacă X nu este NULL altceva falsisnotnull ('NULL') revine în FALSE
nvl (arg X, arg Y)ŞirSe returnează arg Y dacă arg X este NULL altceva se returnează arg Xnvl („NULL”, „Value is Null”) rezultă în „Value is Null”
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)TSe returnează True atunci când starea testului este adevărată și False sau Null altfelif (2 = 2, 'True', 'False')
Coalesce (X, Y)(Orice)Întoarce primele valori nule din listă (Am o îndoială în acest sens - va întoarce chiar prima valoare sau toate valorile nule?)coalesce (nul, nul, nul, 1, 5, nul, nul, 6) rezultă în 1

4. Funcțiile datei

Folosit pentru efectuarea manipulărilor de date și a conversiilor de tip date.

Numele funcțieiTip returDescriereExemplu
data curentaDataAcesta returnează data curentă a executării interogăriicurrent_date () returnează data de astăzi
UNIX_TIMESTAMP ()BIGINTÎntoarce momentul actual al unix al executării interogărilor în câteva secundeunix_timestamp () returnează momentul actual unix
anul (data șirului)IntSe întoarce o parte din an a unei dateanul („1994-11-24”) revine 1994
trimestrul (data șirului)IntSe întoarce sfertul anului într-o datătrimestrul („1994-11-24”) returnează 4
luna (data șirului)IntSe întoarce o parte a lunii a unei dateluna ('1994-11-24') returnează 11
ora (data șirului)IntSe întoarce o parte din oră de timpora ('1994-11-24 12:45:23') returnează 12
minut (data șirului)IntSe întoarce o parte din minutul de timpanul ('1994-11-24 12:45:23') returnează 45
la zi()ŞirAcesta returnează o parte a datei șirului de timpto_date () returnează partea datei
date_sub (data șirului, zile int)ŞirAcesta returnează scăderea numărului de zile la datădata_sub ('1994-11-24', 20) returnează '1994-11-04'
months_between (date1, DATE2)DublaSe returnează numărul de luni între data1 și data2 (luni sau nr de zile?)months_between ('1994-11-24 ′, ' 1994-11-04 ') returnează 20

5. Funcția de colectare

Folosit pentru transformarea și preluarea părților din tipurile de colecție precum hartă, tablă etc.

Numele funcțieiTip returDescriereExemplu
size (hartă)IntAcesta returnează numărul total de elemente din hartăsize (('a': 2, 'b': 6)) returnează 2
Dimensiunea (array)IntAcesta returnează numărul total de elemente din tablăsize ((1, 3, 4, 7)) returnează 4
array_contains (matrice, valoare)booleanSe returnează adevărat dacă tabloul conține valoareaarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) returnează TRUE
map_keys (hartă)mulțimeÎntoarce o serie neordonată de chei ale hărțiimap_keys (('a': 2, 'b': 6, 'c': 1)) returnează ('b', 'c', 'a')
map_valuess (hartă)mulțimeÎntoarce o serie neordonată de valori ale hărțiimap_keys (('a': 2, 'b': 6, 'c': 1)) returnează (1, 6, 2)
sort_array (array)mulțimeÎntoarce un set sortat al tabloului datsort_array ((1, 3, 9, 8, 5, 4, 7)) returnează (1, 3, 4, 5, 7, 8, 9)

Concluzie

Până acum am discutat despre diferite funcții încorporate în Hive. În comparație cu MapReduce, stupul este mai convenabil și economisește timp. Oricine are cunoștințe de bază SQL poate scrie cu ușurință HQL-uri, mai degrabă decât programe complicate MapReduce pentru procesarea datelor.

Articole recomandate

Acesta este un ghid pentru funcțiile încorporate din stup. Aici vom discuta despre funcțiile încorporate, care sunt predefinite și ușor disponibile pentru a fi utilizate în stup. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Funcțiile șirului de stup
  2. Funcția stupului
  3. Comenzile stupului
  4. Arhitectura stupului
  5. Ordinul stupului Prin
  6. Instalarea stupului
  7. Funcții încorporate Python