Toiminnot on rakennettu tiettyä tarkoitusta varten tehtävien, kuten matemaattisten, aritmeettisten, loogisten ja relaatioiden, suorittamiseksi taulukon sarakkeiden nimien operandeilla.
Sisäänrakennetut toiminnot
Nämä ovat toimintoja, jotka ovat jo käytettävissä Hivessa. Ensinnäkin meidän on tarkistettava sovellusvaatimus, ja sitten voimme käyttää tätä sisäänrakennettuja toimintoja sovelluksissamme. Voimme kutsua näitä toimintoja suoraan sovelluksessamme.
Syntaksi ja tyypit mainitaan seuraavassa osassa.
HIVEn sisäisten toimintojen tyypit
- Keräystoiminnot
- Päivämäärätoiminnot
- Matemaattiset toiminnot
- Ehdolliset toiminnot
- Merkkijonotoiminnot
- Muut Toiminnot
Keräystoiminnot:
Näitä toimintoja käytetään kokoelmiin. Kokoelmat tarkoittavat elementtien ryhmittelyä, ja yksittäisten elementtien tai ryhmien palauttaminen riippuu funktion nimessä mainitusta palautustyypistä.
Palautustyyppi | Toiminnon nimi | Kuvaus |
---|---|---|
INT | koko (Kartta | Se hakee ja antaa komponenttinumeron karttatyypissä |
INT | koko (taulukko | Se hakee ja antaa elementeille numeron taulukotyypissä |
Taulukko | Map_keys (Kartta | Se hakee ja antaa taulukon, joka sisältää syötekartan avaimet. Tässä taulukko on järjestyksessä |
Taulukko | Map_values (Kartta | Se hakee ja antaa taulukon, joka sisältää tulokartan arvot. Tässä taulukko on järjestyksessä |
Taulukko | Lajittelu_kohde (taulukko | lajittelee syöttötaulukon taulukon ja elementtien nousevassa järjestyksessä ja palauttaa sen |
Päivämäärätoiminnot:
Näitä käytetään päivämäärän manipulointiin ja päivämäärätyyppien muuntamiseen tyypistä toiseen:
Toiminnon nimi | Palautustyyppi | Kuvaus |
---|---|---|
Unix_Timestamp () | IsoInt | Saamme nykyisen Unix-aikaleiman sekunneissa |
To_date (merkkijonon aikaleima) | merkkijono | Se hakee ja antaa päivämäärän osan aikaleimamerkkijonosta: |
vuosi (merkkijono päivämäärä) | INT | Se hakee ja antaa vuodelle osan päivämäärästä tai aikaleimamerkkijonosta |
vuosineljännes (päivämäärä / aikaleima / merkkijono) | INT | Se hakee ja antaa vuosineljänneksen päivämäärälle, aikaleimalle tai merkkijonolle välillä 1–4 |
kuukausi (merkkijono päivämäärä) | INT | Se antaa kuukauden osan päivämäärästä tai aikaleimamerkkijonon |
tunti (merkkijono päivämäärä) | INT | Se hakee ja antaa aikaleiman tunnin |
minuutti (merkkijono päivämäärä) | INT | Se hakee ja antaa aikaleiman minuutin |
Date_sub (merkkijonon alkamispäivä, int päivää) | merkkijono | Se hakee ja antaa vähennyksen päivien määrästä aloituspäivään |
Current_date | Päivämäärä | Se hakee ja antaa nykyisen päivämäärän kyselyn arvioinnin alussa |
LAST _day (merkkijono päivämäärä) | merkkijono | Se hakee ja antaa kuukauden viimeisen päivän, johon päivämäärä kuuluu |
trunc (merkkijono päivämäärä, merkkijono muoto) | merkkijono | Se hakee ja antaa päivämäärän lyhennettynä muodon määrittelemälle yksikölle. Tuetut muodot tässä: MONTH / MON / MM, YEAR / YYYY / YY. |
Matemaattiset toiminnot :
Näitä toimintoja käytetään matemaattisissa operaatioissa. UDF-tiedostojen luomisen sijasta meillä on joitain sisäisiä matemaattisia toimintoja Hivessa.
Toiminnon nimi | Palautustyyppi | Kuvaus |
---|---|---|
pyöreä (DOUBLE X) | KAKSINKERTAINEN | Se hakee ja palauttaa X: n pyöristetyn BIGINT-arvon |
pyöreä (DOUBLE X, INT d) | KAKSINKERTAINEN | Se hakee ja palauttaa X pyöristettynä d desimaaliin |
röykkiö (KAKSOIS X) | KAKSINKERTAINEN | Se hakee ja palauttaa X: n pyöristetyn BIGINT-arvon käyttämällä HALF_EVEN pyöristystilaa |
lattia (KAKSOIS X) | BIGINT | Se hakee ja palauttaa suurimman BIGINT-arvon, joka on yhtä suuri tai pienempi kuin X-arvo |
katto (KAKSOIS a), katto (KAKSOIS a) | BIGINT | Se hakee ja palauttaa pienimmän BIGINT-arvon, joka on yhtä suuri tai suurempi kuin X-arvo |
rand (), rand (INT-siemen) | KAKSINKERTAINEN | Se hakee ja palauttaa satunnaisluvun, joka on jaettu tasaisesti 0: sta 1: een |
Ehdolliset toiminnot:
Näitä toimintoja käytetään ehdollisten arvojen tarkistamiseen.
Toiminnon nimi | Palautustyyppi | Kuvaus |
---|---|---|
if (Boolen testCondition, T valueTrue, T valueFalseOrNull) | T | Se hakee arvon ja antaa arvon Tosi, kun testiehto on tosi, antaa arvon False or Null muuten. |
ISNULL (X) | Boolen | Se hakee ja antaa tosi, jos X on NULL ja väärä muuten. |
ISNOTNULL (X) | Boolen | Se hakee ja antaa tosi, jos X ei ole NULL ja väärä muuten. |
Merkkijonotoiminnot:
Merkkijonon manipulointeja ja merkkijonooperaatioita näitä toimintoja voidaan kutsua.
Toiminnon nimi | Palautustyyppi | Kuvaus |
---|---|---|
taaksepäin (merkkijono X) | merkkijono | Se antaa X: n käännetyn merkkijonon |
rpad (merkkijono str, int pituus, merkkijono) | merkkijono | Se hakee ja antaa merkkijonon, joka on oikealla pehmustettu tyynyllä pituuteen (kokonaisluku) |
rtrim (merkkijono X) | merkkijono | Se hakee ja palauttaa merkkijonon, joka johtuu välilyöntien leikkaamisesta X: n päästä (oikealta puolelta). Esimerkiksi rtrim ('tulokset') johtaa 'tuloksiin' |
välilyönti (INT n) | merkkijono | Se hakee ja antaa merkkijonon n välilyöntiä. |
jaettu (STRING str, STRING taputus) | taulukko | Jakaa str: n ympäri pat (pat on säännöllinen lauseke). |
Str_to_map (teksti [, erotin1, erotin2]) | kartta | Se jakaa tekstin avainarvopareihin kahdella erottimella. |
UDF: t (käyttäjän määrittelemät toiminnot):
Hivessä käyttäjät voivat määrittää omat toiminnot vastaamaan tiettyjä asiakkaan vaatimuksia. Näitä kutsutaan pesässä oleviksi UDF-tiedostoiksi. Käyttäjän määrittelemät toiminnot, jotka on kirjoitettu Java-sovelluksessa tietyille moduuleille.
Jotkut UDF-tiedostoista on erityisesti suunniteltu koodin uudelleenkäyttöä varten sovelluskehyksissä. Kehittäjä kehittää nämä toiminnot Javassa ja integroi nämä UDF: t Hiveen.
Kyselyn suorituksen aikana kehittäjä voi käyttää koodia suoraan, ja UDF: t palauttavat lähdöt käyttäjän määrittelemien tehtävien mukaan. Se tarjoaa korkean suorituskyvyn koodauksen ja suorituksen suhteen.
Esimerkiksi merkkijononkäsittelyssä meillä ei ole mitään ennalta määritettyä funktiota Hivessa, tätä varten voimme kirjoittaa varren UDF: n Java: iin. Aina, kun tarvitsemme varren toiminnallisuutta, voimme kutsua tätä varren suoraan UDF: ksi pesässä.
Tässä varren toiminnallisuus tarkoittaa sanojen johtamista juurisanoista. Se on kuin algoritmin pienentäminen vähentää sanat "toivominen", "toivominen" ja "toiveet" juurisanaksi "toive". Tämän tyyppisen toiminnon suorittamiseksi voimme kirjoittaa UDF: n Java-muotoon ja integroida Hiveen.
Käyttötapauksista riippuen UDF: t voidaan kirjoittaa, se hyväksyy ja tuottaa erilaisia määriä tulo- ja lähtöarvoja.
UDF: n yleinen tyyppi hyväksyy yhden tuloarvon ja tuottaa yhden lähtöarvon. Jos kyselyssä käytetään UDF: ää, UDF kutsutaan kerran kullekin tulosdatasarjan riville.
Toisella tavalla se voi hyväksyä joukon arvoja syötteenä ja palauttaa myös yhden lähtöarvon.