Uvod u funkcije ugrađenih košnica

Funkcije su izgrađene za obavljanje različitih analitičkih zahtjeva i operacija poput matematičkih, logičkih, aritmetičkih i relacijskih na ogromnim skupovima podataka i tablicama. Funkcije se koriste kada moramo ponovo koristiti slične operacije više puta. U ovom naprednom svijetu BigDate, rukovanje i obrada ogromnih skupova podataka, pisanje MapReduce programa postaje teško. Dakle, Hive Query Language (HQL) uveden je na vrhu Apache Hadoopa u listopadu 2010, pomoću kojeg lako možemo pokrenuti upite, slične SQL-ovima. HQL-ovi se nadalje interno pretvaraju u programe Mapreduce kako bi se dobili rezultati. U ovoj ćemo temi razgovarati o ugrađenim funkcijama košnica.

Funkcije košnica široko su kategorizirane na dvije:

  1. Ugrađene funkcije
  2. Korisnički definirane funkcije

Ugrađene funkcije košnice

Ugrađene funkcije su unaprijed definirane i lako su dostupne za upotrebu u košnici. Oni su dolje kategorizirani:

1. Gudačke funkcije

Koristi se za nizove manipulacija i transformaciju.

Naziv funkcijeVrsta povratkaOpisPrimjer
substr (string, int, int)NizVraća niz iz određenog početnog položaja na zadanu duljinusubstr ('Upit za košnicu', 5, 5) rezultira u 'upit'
rtrim (niz X)NizVraća niz bez desnih vodećih razmakartrim ('Hello') rezultati u 'Hello'
ltrim (niz X)NizVraća niz bez vodećih razmakaltrim ('Hello') rezultati u 'Hello'
obrnuti (niz X)NizVraća obrnuti niz Xreverse ('hello') rezultati u 'olleh'
rpad (niz X, int, niz)NizVraća desni podstavljeni niz s 'pad' na duljinu odrpad ('Hello', 3, 'hi') rezultati u 'Hello hi hi hi'
lpad (niz X, int, string)NizVraća lijevi podstavljeni niz s 'pad' na duljinu odlpad ('Hello', 3, 'Hi') rezultati u 'Hi Hi Hi Hello'
split (niz X, presvlaka niza)redVraća niz stringova nakon što podijeli niz oko navedenog uzorkasplit ("A, B, C, D", ", ") rezultira u ("A", B ", " C ", " D ")
duljina (niz X)IntegerVraća dužinu niza Xdužina ('Bigdata') rezultira sa 7
concat (niz X, niz Y)NizVraća sjedinjeni niz X i Yconcat ('Hello', 'World') rezultati u 'HelloWorld'

2. Matematičke funkcije

Koristi se za primjenu matematičkih operacija poput zaokruživanja, stropa, poda itd. Umjesto stvaranja UDF.

Naziv funkcijeVrsta povratkaOpisPrimjer
okrugli (dvostruki X)DvostrukoVraća zaokruženu vrijednost Xkrug (29.5) rezultira u 30
okrugli (dvostruki X, Int d)DvostrukoVraća zaokruženu vrijednost od X do d decimalnih mjestarunda (29.3456, 2) rezultira u 29.34
strop (dvostruki X)DvostrukoVraća minimalnu BIGINT vrijednost koja je jednaka ili veća od Xceil (20.5555) rezultira u 21
kat (dvostruki X)DvostrukoVraća maksimalnu BIGINT vrijednost koja je jednaka ili veća od Xceil (20.5555) rezultira u 20
Rand ()DvostrukoVraća slučajne brojeve između 0 i 9rand () rezultira random (0-9)
abs (dvostruki X)DvostrukoVraća apsolutnu vrijednost broja Xabs (-25) rezultira u 25
Pow (dvostruki X, dvostruki Y)DvostrukoVraća X vrijednost podignutu na snagu Ypow (2, 3) daje rezultate 8
exp (dvostruki X)DvostrukoVraća vrijednost eksponenta Xexp (2) rezultira 7.389

3. Uvjetne funkcije

Koristi se za provjeru izraza za True ili False i vraća odgovarajuće rezultate.

Naziv funkcijeVrsta povratkaOpisPrimjer
isnull (X)BooleovaVraća TRUE ako je X NULL else falseisnull ('NULL') vraća se u TRUE
isnotnull (X)BooleovaVraća TRUE ako X nije NULL else falseisnotnull ('NULL') vraća se u FALSE
nvl (arg X, arg Y)NizVraća arg Y, ako je arg X X NULL, a vrati arg Xnvl ('NULL', 'Value is Null') rezultira u 'Value is Null'
ako (Boolean testCondition, T valueTrue, T valueFalseOrNull)TVraća se True kad je uvjet ispitivanja istina, a False ili Null u suprotnomako je (2 = 2, 'Istina', 'Netačno')
srasti (X, Y)(Bilo)Vraća prve ne-null vrijednosti s popisa (u to sumnjam - hoće li vratiti prvu vrijednost ili sve null vrijednosti?)coalesce (null, null, null, 1, 5, null, null, 6) rezultira s 1

4. Funkcije datuma

Koristi se za izvođenje manipulacija datuma i pretvorbe datuma.

Naziv funkcijeVrsta povratkaOpisPrimjer
trenutni datumDatumVraća trenutni datum izvršenja upitacurrent_date () vraća današnji datum
unix_timestamp ()BIGINTVraća trenutnu vremensku oznaku unix izvršenja upita u sekundiunix_timestamp () vraća trenutnu vremensku oznaku unix
godina (datum niza)intVraća dio godine datumgodina ('1994-11-24') vraća 1994. godinu
četvrtina (datum niza)intVraća četvrtinu godine datumačetvrtina ('1994-11-24') vraća 4
mjesec (datum niza)intVraća mjesečni dio datumamjesec ('1994-11-24') vraća 11
sat (datum niza)intVraća satni dio vremenske oznakesat ('1994-11-24 12:45:23') vraća se 12
minuta (datum niza)intVraća minutni dio vremenske oznakegodine ('1994-11-24 12:45:23') vraća 45
TO_DATE ()NizVraća dio datuma niza vremenske oznaketo_date () vraća dio datuma
date_sub (datum niza, int dana)NizVraća oduzimanje broja dana od datumadate_sub ('1994-11-24', 20) vraća '1994-11-04'
months_between (DATE1, DATE2)DvostrukoVraća broj mjeseci između datuma1 i datuma2 (mjeseci ili nema dana?)mjeseca između ('1994-11-24', '1994-11-04') vraća se 20

5. Funkcija prikupljanja

Koristi se za preoblikovanje i dohvaćanje dijelova vrsta zbirki kao što su karta, niz itd.

Naziv funkcijeVrsta povratkaOpisPrimjer
Veličina (karta)intVraća ukupni broj elemenata na kartiveličina (('a': 2, 'b': 6)) vraća 2
Veličina (polje)intVraća ukupni broj elemenata u nizuveličina ((1, 3, 4, 7)) vraća 4
array_contains (polje, vrijednost)BooleovaVraća true ako niz sadrži vrijednostarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) vraća TRUE
map_keys (karta)redVraća neuređeni niz ključeva kartemap_keys (('a': 2, 'b': 6, 'c': 1)) vraća se ('b', 'c', 'a')
map_valuess (karta)redVraća neuređeni niz vrijednosti kartemap_keys (('a': 2, 'b': 6, 'c': 1)) vraća se (1, 6, 2)
sort_array (polje)redVraća sortirani niz datog nizasort_array ((1, 3, 9, 8, 5, 4, 7)) vraća (1, 3, 4, 5, 7, 8, 9)

Zaključak

Do sada smo razgovarali o različitim ugrađenim funkcijama u košnici. U odnosu na MapReduce, Hive je praktičniji i štedi vrijeme. Svatko tko ima osnovno SQL znanje može lako pisati HQL-ove, a ne komplicirane MapReduce programe za obradu podataka.

Preporučeni članci

Ovo je vodič za funkcije ugrađenih košnica. Ovdje ćemo razgovarati o ugrađenim funkcijama koje su unaprijed definirane i lako dostupne za upotrebu u košnici. Možete pogledati i sljedeći članak da biste saznali više -

  1. Funkcije žica košnice
  2. Funkcija košnice
  3. Naredbe košnica
  4. Arhitektura košnica
  5. Naruči košnicu
  6. Instalacija košnica
  7. Ugrađene funkcije Python-a

Kategorija: