Úvod do vstavaných funkcií

Funkcie sú zostavené tak, aby vykonávali rôzne analytické požiadavky a operácie, ako sú matematické, logické, aritmetické a relačné, na veľkých množinách údajov a tabuľkách. Funkcie sa používajú, keď musíme opakovane používať podobné operácie viackrát. V tomto pokročilom svete BigData, spracovanie a spracovanie obrovských množín údajov, sa písanie programov MapReduce stáva ťažké. Preto bol v októbri 2010 na vrchole Apache Hadoop zavedený Hive Query Language (HQL), pomocou ktorého môžeme ľahko spúšťať dotazy podobné SQL. HQL sa ďalej interne konvertujú na programy Mapreduce, aby poskytli výstupy. V tejto téme budeme diskutovať o vstavaných funkciách úľa.

Úľové funkcie sú všeobecne rozdelené do dvoch skupín:

  1. Vstavané funkcie
  2. Funkcie definované používateľom

Vstavané funkcie úľa

Vstavané funkcie sú preddefinované a ľahko dostupné na použitie v Úli. Sú rozdelené do nasledujúcich kategórií:

1. Reťazcové funkcie

Používa sa na manipuláciu s reťazcami a transformáciu.

Názov funkcieTyp vráteniapopispríklad
subst (string, int, int)povrázokVracia reťazec zo zadanej počiatočnej polohy na zadanú dĺžkusubst ('dotaz úľa', 5, 5) vedie k 'dotazu'
rtrim (reťazec X)povrázokVracia reťazec bez pravých úvodných medzierVýsledkom rtrim („Ahoj“) je „Ahoj“
ltrim (reťazec X)povrázokVracia reťazec bez ľavých úvodných medzierVýsledky ltrim („Ahoj“) vedú k „Ahoj“
reverzná (reťazec X)povrázokVracia opačný reťazec Xvýsledky reverznej („ahoj“) vedú k „olleh“
rpad (reťazec X, int, reťazec)povrázokVráti pravý polstrovaný reťazec s „padom“ na dĺžkuVýsledok rpad („Ahoj“, 3, „ahoj“) vedie k „Ahoj ahoj ahoj ahoj“
lpad (reťazec X, int, reťazec)povrázokVráti ľavú výplňovú šnúru s „padom“ na dĺžkulpad ('Ahoj', 3, 'Ahoj') vedie k 'Ahoj Ahoj Ahoj Hello'
split (string X, string pat)radPo rozdelení reťazca okolo zadaného vzoru vráti rad reťazcovvýsledkom split („A, B, C, D“, „, “) sú výsledky („A“, B ', „C“, „D“)
dĺžka (reťazec X)celé čísloVracia dĺžku reťazca Xdĺžka („Bigdata“) vedie k 7
concat (reťazec X, reťazec Y)povrázokVracia zreťazený reťazec X a YVýsledok concat ('Hello', 'World') vedie k HelloWorld

2. Matematické funkcie

Používa sa na aplikáciu matematických operácií, ako sú zaoblenie, strop, podlaha atď., Namiesto vytvárania UDF.

Názov funkcieTyp vráteniapopispríklad
kolo (dvojité X)dvojitýVráti zaokrúhlenú hodnotu Xkolo (29.5) výsledky v 30
kolo (dvojité X, Int d)dvojitýVráti zaokrúhlenú hodnotu X na desatinné miestakolo (29.3456, 2) vedie k 29.34
strop (dvojitý X)dvojitýVracia minimálnu hodnotu BIGINT, ktorá sa rovná alebo je väčšia ako Xstrop (20, 5555) vedie k 21
podlaha (dvojitá X)dvojitýVracia maximálnu hodnotu BIGINT, ktorá sa rovná alebo je väčšia ako Xstrop (20, 5555) vedie k 20
rand ()dvojitýVracia náhodné čísla od 0 do 9rand () vedie k randu (0-9)
abs (dvojité X)dvojitýVracia absolútnu hodnotu čísla Xabs (-25) výsledky v 25
pow (double X, double Y)dvojitýVracia hodnotu X zvýšenú na hodnotu Yprášok (2, 3) vedie k 8
exp (dvojité X)dvojitýVracia hodnotu exponentu Xexp (2) výsledky v 7.389

3. Podmienené funkcie

Používa sa na kontrolu výrazu True alebo False a vracia zodpovedajúce výsledky.

Názov funkcieTyp vráteniapopispríklad
IsNull (X)booleanVráti hodnotu PRAVDA, ak X je NULL inak nepravdivéisnull ('NULL') sa vracia v TRUE
isnotnull (X)booleanVráti hodnotu PRAVDA, ak X nie je NULL inak nepravdivéisnotnull ('NULL') sa vracia v FALSE
nvl (arg X, arg Y)povrázokVracia arg Y, ak arg X je NULL, inak vracia arg Xnvl ('NULL', 'Value is Null') vedie k 'Value is Null'
if (logický testCondition, T valueTrue, T valueFalseOrNull)TVráti hodnotu True, keď sú podmienky testu pravdivé a False alebo Null inakak (2 = 2, „True“, „False“)
COALESCE (X, Y)(Akýkoľvek)Vráti prvé nenulové hodnoty zo zoznamu (Mám o tom pochybnosti - vráti úplne prvú hodnotu alebo všetky null hodnoty?)zlúčenie (null, null, null, 1, 5, null, null, 6) vedie k 1

4. Funkcie dátumu

Používa sa na vykonávanie manipulácií s dátumami a konverzií typu dátumu.

Názov funkcieTyp vráteniapopispríklad
aktuálny dátumDátumVracia aktuálny dátum vykonania dotazucurrent_date () vracia dnešný dátum
unix_timestamp ()BIGINTVráti aktuálnu časovú pečiatku vykonávania Unixu v sekundáchunix_timestamp () vracia aktuálnu časovú pečiatku unixu
rok (reťazcový dátum)IntVracia ročnú časť dátumurok („1994-11-24“) sa vracia v roku 1994
štvrťrok (reťazcový dátum)IntVracia štvrtý štvrťrok rokuštvrťrok (1994-11-24), výnosy 4
mesiac (reťazcový dátum)IntVráti mesačnú časť dátumumesiac (1994-11-24) sa vracia 11
hodina (reťazcový dátum)IntVracia hodinovú časovú pečiatkuhodina (1994-11-24 12:45:23 ') sa vracia 12
minúta (reťazcový dátum)IntVráti minútovú časť časovej pečiatkyrok (1994-11-24 12:45:23 ') sa vracia 45
randiť()povrázokVracia dátumovú časť reťazca časových pečiatokto_date () vracia dátumovú časť
date_sub (reťazcový dátum, int dni)povrázokVráti odpočítanie počtu dní do dátumudate_sub ('1994-11-24', 20) vracia '1994-11-04'
months_between (dátum 1, dátum 2)dvojitýVracia počet mesiacov medzi dátumom1 a dátumom2 (mesiace alebo žiadny deň?)months_between ('1994-11-24', '1994-11-04') sa vracia 20

5. Funkcia zberu

Používa sa na transformáciu a načítanie častí typov zbierok, ako je mapa, pole atď.

Názov funkcieTyp vráteniapopispríklad
size (mapa)IntVracia celkový počet prvkov na mapesize ((a): 2, „b“: 6)) sa vracia 2
Veľkosť (array)IntVracia celkový počet prvkov v polisize (1, 3, 4, 7)) sa vracia 4
array_contains (pole, hodnota)booleanVracia hodnotu true, ak pole obsahuje hodnotuarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) vracia TRUE
map_keys (mapa)radVracia neusporiadané pole kľúčov mapymap_keys (('a': 2, 'b': 6, 'c': 1)) vracia ('b', 'c', 'a')
map_valuess (mapa)radVracia neusporiadané pole hodnôt mapymap_keys (('a': 2, 'b': 6, 'c': 1)) návraty (1, 6, 2)
sort_array (array)radVracia zoradené pole daného poľasort_array ((1, 3, 9, 8, 5, 4, 7)) sa vracia (1, 3, 4, 5, 7, 8, 9)

záver

Zatiaľ sme diskutovali o rôznych vstavaných funkciách v Úli. V porovnaní s MapReduce je Hive pohodlnejší a šetrí čas. Každý, kto má základné znalosti jazyka SQL, môže namiesto spracovania komplikovaných programov MapReduce pre spracovanie údajov ľahko písať HQL.

Odporúčané články

Toto je sprievodca zabudovanými funkciami Úľa. Tu diskutujeme o vstavaných funkciách, ktoré sú preddefinované a ľahko dostupné na použitie v Úli. Viac informácií nájdete aj v nasledujúcom článku -

  1. Funkcie reťazcov úľa
  2. Funkcia úľa
  3. Príkazy úľa
  4. Architektúra úľa
  5. Usporiadať úľ podľa
  6. Inštalácia úľa
  7. Vstavané funkcie Pythonu

Kategórie: