Johdanto pesän sisäänrakennettuihin toimintoihin

Toiminnot on rakennettu suorittamaan erilaisia ​​analyyttisiä vaatimuksia ja operaatioita, kuten matemaattisia, loogisia, aritmeettisia ja relaatiotietoja, valtaville aineistoille ja taulukoille. Toimintoja käytetään, kun joudumme käyttämään samanlaisia ​​toimintoja uudelleen useita kertoja. Tässä edistyneessä BigData-maailmassa käsitellä ja käsitellä valtavia tietojoukkoja MapReduce-ohjelmien kirjoittaminen on vaikeaa. Joten Hive (Hive Query Language) otettiin käyttöön Apache Hadoopin päälle lokakuussa 2010, ja sen avulla voimme helposti suorittaa kyselyitä, kuten SQL. HQL: t muutetaan edelleen sisäisesti Mapreduce-ohjelmiksi tulosten tuottamiseksi. Aiheessa aiomme keskustella pesän sisäisistä toiminnoista.

Pesän toiminnot jaotellaan laajasti kahteen osaan:

  1. Sisäänrakennetut toiminnot
  2. Käyttäjän määrittämät toiminnot

Pesän sisäänrakennetut toiminnot

Sisäänrakennetut toiminnot ovat ennalta määritettyjä ja helposti saatavissa käytettäväksi Hivessä. Ne luokitellaan seuraavasti:

1. Joustoiminnot

Käytetään merkkijonon käsittelyyn ja muuntamiseen.

Toiminnon nimiPalautustyyppiKuvausesimerkki
substr (merkkijono, int, int)jonoSe palauttaa merkkijonon määritetystä aloituspaikasta määriteltyyn pituuteensubstr ('pesän kysely', 5, 5) johtaa 'kyselyyn'
rtrim (merkkijono X)jonoSe palauttaa merkkijonon ilman oikeita johtavia välilyöntejärtrim ('Hello') johtaa 'Hello'
ltrim (merkkijono X)jonoSe palauttaa merkkijonon ilman vasemmia etäisyyksiältrim ('Hei') johtaa 'Hei'
käänteinen (merkkijono X)jonoSe palauttaa käänteisen merkkijonon Xkäänteinen ('hello') johtaa 'olleh'
rpad (merkkijono X, int, merkkijono)jonoSe palauttaa oikean tyynyisen merkkijonon, jonka 'pad' on pituusrpad ('Hei', 3, 'hei') johtaa 'Hei hi hi hi'
lpad (merkkijono X, int, merkkijono)jonoSe palauttaa vasemman pehmustetun merkkijonon, jonka 'pad' on pituuslpad ('Hei', 3, 'Hei') johtaa 'Hei Hei Hei'
split (merkkijono X, merkkijono)ryhmäSe palauttaa joukon merkkijonoja, kun merkkijono on jaettu määritellyn kuvion ympärillejako (“A, B, C, D”, ”, ”) johtaa ('A', B ', ' C ', ' D ')
pituus (merkkijono X)KokonaislukuSe palauttaa merkkijonon X pituudenpituus ('Bigdata') johtaa tulokseen 7
concat (merkkijono X, merkkijono Y)jonoSe palauttaa ketjutun merkkijonon sekä X: stä että Y: stäconcat ('Hello', 'World') johtaa 'HelloWorld'

2. Matemaattiset toiminnot

Käytetään matemaattisten toimintojen, kuten pyöristämisen, katon, lattian jne. Soveltamiseen UDF: ien luomisen sijaan.

Toiminnon nimiPalautustyyppiKuvausesimerkki
pyöreä (kaksinkertainen X)KaksinkertainenSe palauttaa X: n pyöristetyn arvonkierros (29, 5) johtaa tulokseen 30
pyöreä (kaksinkertainen X, int d)KaksinkertainenSe palauttaa X: n pyöristetyn arvon desimaalin tarkkuudellakierros (29.3456, 2) johtaa tulokseksi 29, 34
ceil (kaksinkertainen X)KaksinkertainenSe palauttaa vähintään BIGINT-arvon, joka on yhtä suuri tai suurempi kuin Xceil (20, 5555) johtaa 21: ään
lattia (kaksinkertainen X)KaksinkertainenSe palauttaa suurimman BIGINT-arvon, joka on yhtä suuri tai suurempi kuin Xceil (20, 5555) johtaa tulokseen 20
rand ()KaksinkertainenSe palauttaa satunnaisluvut välillä 0 - 9rand () tulokset rand (0-9)
abs (kaksinkertainen X)KaksinkertainenSe palauttaa luvun X absoluuttisen arvonabs (-25) johtaa 25
Pow (kaksinkertainen X, kaksinkertainen Y)KaksinkertainenSe palauttaa Y-arvoon nostetun X-arvonpow (2, 3) antaa tulokseksi 8
exp (kaksinkertainen X)KaksinkertainenSe palauttaa X: n eksponenttiarvonexp (2) johtaa tulokseen 7, 389

3. Ehdolliset toiminnot

Käytetään tarkistamaan lauseke tosi tai väärin ja palauttaa vastaavat tulokset.

Toiminnon nimiPalautustyyppiKuvausesimerkki
isnull (X)booleanSe palauttaa TOSI, jos X on NULL muu vääräisnull ('NULL') palaa TOSI
isnotnull (X)booleanSe palauttaa TOSI, jos X ei ole NULL muu vääräisnotnull ('NULL') palaa virheellisesti
nvl (arg X, arg Y)jonoSe palauttaa arg Y, jos arg X on NULL, palauta arg Xnvl ('NULL', 'Arvo on nolla') johtaa 'Arvo on nolla'
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)TSe palauttaa tosi, kun testiolosuhteet ovat tosi ja vääriä tai nolla muutenif (2 = 2, 'totta', 'vääriä')
kasvavat yhteen (X, Y)(Minkä tahansa)Se palauttaa luettelon ensimmäiset ei-nolla-arvot (Minulla on tästä epäilystä - palauttaako se ensimmäisen arvon vai kaikki muut kuin nolla-arvot?)yhdistäminen (nolla, nolla, nolla, 1, 5, nolla, nolla, 6) johtaa 1: ään

4. Päivämäärätoiminnot

Käytetään päivämäärän käsittelyyn ja päivämäärätyyppimuutoksiin.

Toiminnon nimiPalautustyyppiKuvausesimerkki
CURRENT_DATEPäivämääräSe palauttaa kyselyn nykyisen suorittamispäiväncurrent_date () palauttaa tänään päivämäärän
unix_timestamp ()bigintSe palauttaa kyselyn suorituksen nykyisen unix-aikaleiman sekunneissaunix_timestamp () palauttaa nykyisen unix-aikaleiman
vuosi (merkkijono päivämäärä)intSe palauttaa vuoden osan päivämäärästävuosi ('1994-11-24') tuottaa vuoden 1994
vuosineljännes (merkkijono päivämäärä)intSe palauttaa päivämäärän vuoden neljänneksenvuosineljännes ('1994-11-24') tuottaa 4
kuukausi (merkkijono päivämäärä)intSe palauttaa päiväyksen kuukausiosankuukausi ('1994-11-24') palauttaa 11
tunti (merkkijono päivämäärä)intSe palauttaa aikaleiman tunnin osantunti ('1994-11-24 12:45:23') palauttaa 12
minuutti (merkkijono päivämäärä)intSe palauttaa aikaleiman minuutin osanvuosi ('1994-11-24 12:45:23') tuottaa 45
tähän mennessä()jonoSe palauttaa aikaleiman merkkijonon päivämääräosanto_date () palauttaa päivämääräosan
date_sub (merkkijonopäivä, sisäpäivät)jonoSe palauttaa päivien lukumäärän vähennyksen päivämääräändate_sub ('1994-11-24', 20) palauttaa '1994-11-04'
months_between (päivämäärä1, date2)KaksinkertainenSe palauttaa kuukausien määrän päivämäärä1 ja päivämäärä2 välillä (kuukautta vai ei päivää?)kuukausien välillä ('1994-11-24', '1994-11-04') palaa 20

5. Keräystoiminto

Käytetään muuntelemaan ja hakemaan kokoelmatyyppejä, kuten kartta, taulukko jne.

Toiminnon nimiPalautustyyppiKuvausesimerkki
koko (kartta)intSe palauttaa kartan elementtien kokonaismääränkoko (('a': 2, 'b': 6)) palauttaa 2
koko (array)intSe palauttaa taulukon elementtien kokonaismääränkoko ((1, 3, 4, 7)) tuottaa 4
array_contains (array, arvo)booleanSe palauttaa arvon true, jos taulukko sisältää arvonarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) palauttaa TOSI
map_keys (kartta)ryhmäSe palauttaa järjestämättömän joukon kartan avaimiamap_keys (('a': 2, 'b': 6, 'c': 1)) palaa ('b', 'c', 'a')
map_valuess (kartta)ryhmäSe palauttaa järjestämättömän kartan arvojamap_keys (('a': 2, 'b': 6, 'c': 1)) palauttaa (1, 6, 2)
sort_array (array)ryhmäSe palauttaa annetun taulukon lajitellun ryhmänsort_array ((1, 3, 9, 8, 5, 4, 7)) palauttaa (1, 3, 4, 5, 7, 8, 9)

johtopäätös

Toistaiseksi olemme keskustelleet Hivessä olevista erilaisista toiminnoista. Verrattuna MapReduceen, Hive on kätevämpi ja aikaa säästävä. Jokainen, jolla on perustiedot SQL-tietokannasta, voi helposti kirjoittaa HQL-tiedostoja mutkikkaiden MapReduce-ohjelmien sijaan tietojenkäsittelyä varten.

Suositellut artikkelit

Tämä on opas rakennuksen sisäänrakennettuihin toimintoihin. Tässä keskustellaan sisäänrakennetuista toiminnoista, jotka ovat ennalta määritettyjä ja helposti saatavissa käytettäväksi Hivessä. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Pesän kielen toiminnot
  2. Pesän toiminto
  3. Pesän komennot
  4. Pesän arkkitehtuuri
  5. Pesän tilauksen tekijä
  6. Pesän asennus
  7. Pythonin sisäänrakennetut toiminnot