Funkcijas ir izveidotas noteiktam mērķim, lai veiktu tādas darbības kā matemātiskās, aritmētiskās, loģiskās un relāciju tabulas kolonnu nosaukumu operandos.
Iebūvētās funkcijas
Šīs ir funkcijas, kas jau ir pieejamas stropā. Pirmkārt, mums jāpārbauda lietojumprogrammu prasības, un pēc tam mēs varam izmantot šīs iebūvētās funkcijas savās lietojumprogrammās. Šīs funkcijas mēs varam izsaukt tieši mūsu lietojumprogrammā.
Sintakse un veidi ir minēti nākamajā sadaļā.
HIVE iebūvēto funkciju veidi
- Kolekcijas funkcijas
- Datuma funkcijas
- Matemātiskās funkcijas
- Nosacītās funkcijas
- Stīgu funkcijas
- Dažādi Funkcijas
Kolekcijas funkcijas:
Šīs funkcijas tiek izmantotas kolekcijām. Kolekcijas nozīmē elementu grupēšanu, un atsevišķu vai elementu masīva atgriešana ir atkarīga no funkcijas nosaukumā minētā atgriešanās veida.
Atgriešanas veids | Funkcijas nosaukums | Apraksts |
---|---|---|
INT | izmērs (karte | Tas ienes un piešķir komponentiem numuru kartes tipā |
INT | izmērs (masīvs | Tas iegūs un piešķirs elementiem masīva tipā numuru |
Masīvs | Map_keys (Karte | Tas iegūs un dos masīvu, kurā ir ievadītās kartes taustiņi. Šeit masīvs ir nesakārtots |
Masīvs | Map_values (Karte | Tas iegūs un dos masīvu, kurā ir ievadītās kartes vērtības. Šeit masīvs ir nesakārtots |
Masīvs | Sort_array (masīvs | sakārto ievades masīvu masīva un elementu augošā secībā un atdod to |
Datuma funkcijas:
Tos izmanto, lai veiktu manipulācijas ar datumu un datuma veidu pārveidošanu no viena veida uz citu:
Funkcijas nosaukums | Atgriešanas veids | Apraksts |
---|---|---|
Unix_Timestamp () | BigInt | Mēs saņemsim pašreizējo Unix laika zīmogu dažu sekunžu laikā |
To_date (virknes laika zīmogs) | virkne | Tas ienāks un piešķirs datuma daļu no laika zīmoga virknes: |
gads (virknes datums) | INT | Tas iegūs datumu vai laika zīmoga virkni un piešķirs tai gadu |
ceturksnis (datums / laika zīmogs / virkne) | INT | Tas iegūs datumu, laika zīmogu vai virkni gada ceturksnī diapazonā no 1 līdz 4 |
mēnesis (virknes datums) | INT | Tas mēnesim piešķirs datuma daļu vai laika zīmoga virkni |
stunda (virknes datums) | INT | Tas ienāks un norādīs laika zīmoga stundu |
minūte (virknes datums) | INT | Tas iegūs un piešķirs laika zīmoga minūti |
Date_sub (virknes sākuma datums, int dienas) | virkne | Tas iegūs un atņems dienu skaita atņemšanu līdz sākuma datumam |
Šodienas datums | datums | Tas iegūs un norādīs pašreizējo datumu vaicājuma novērtēšanas sākumā |
LAST _day (virknes datums) | virkne | Tas iegūs un norādīs tā mēneša pēdējo dienu, kuram šis datums pieder |
trunc (virknes datums, virknes formāts) | virkne | Tas ienes un piešķir datumu saīsinātu formātā norādītajai vienībai. Atbalstītie formāti: MONTH / MON / MM, YEAR / GGGG / GG. |
Matemātiskās funkcijas :
Šīs funkcijas tiek izmantotas matemātiskām operācijām. Tā vietā, lai izveidotu UDF, mums stropā ir dažas iebūvētas matemātiskās funkcijas.
Funkcijas nosaukums | Atgriešanas veids | Apraksts |
---|---|---|
apaļa (DOUBLE X) | DUBULA | Tas iegūs un atgriezīs X noapaļoto BIGINT vērtību |
apaļa (DOUBLE X, INT d) | DUBULA | Tas iegūs un atgriezīs X noapaļotu līdz d zīmēm aiz komata |
bround (DOUBLE X) | DUBULA | Izmantojot HALF_EVEN noapaļošanas režīmu, tā iegūs un atgriezīs X noapaļoto BIGINT vērtību |
stāvs (DOUBLE X) | BIGINT | Tas iegūs un atgriezīs maksimālo BIGINT vērtību, kas ir vienāda vai mazāka par X vērtību |
griesti (DOUBLE a), griesti (DOUBLE a) | BIGINT | Tas iegūs un atgriezīs minimālo BIGINT vērtību, kas ir vienāda vai lielāka par X vērtību |
rand (), rand (INT sēklas) | DUBULA | Tas iegūs un atgriezīs nejaušu skaitli, kas vienmērīgi tiek sadalīts no 0 līdz 1 |
Nosacītās funkcijas:
Šīs funkcijas tiek izmantotas nosacīto vērtību pārbaudei.
Funkcijas nosaukums | Atgriešanas veids | Apraksts |
---|---|---|
if (Būla testa nosacījums, T vērtība Patiesība, T vērtība FalseOrNull) | T | Tas saņems vērtību True, kad testa nosacījums ir patiess, citādi vērtību False or Null. |
ISNULL (X) | Būla | Ja X ir NULL un nepatiesa citādi, tas tiks iegūts un būs patiess. |
ISNOTNULL (X) | Būla | Tas iegūs un sniegs patiesību, ja X nav NULL un nepatiesa citādi. |
Stīgu funkcijas:
Stīgu manipulācijas un virkņu operācijas šīs funkcijas var izsaukt.
Funkcijas nosaukums | Atgriešanas veids | Apraksts |
---|---|---|
reverss (X virkne) | virkne | Tas dos apgriezto X virkni |
rpad (virknes str, int garums, virknes spilventiņš) | virkne | Tas iegūs un dod str, kas ir ar labo spilventiņu ar spilventiņu garuma garumā (vesela skaitļa vērtība) |
rtrim (X virkne) | virkne | Tas ienes un atdos virkni, kas rodas atstarpes no X gala (labajā pusē). Piemēram , rtrim ('rezultāti') rada 'rezultātus' |
atstarpe (INT n) | virkne | Tas ienes un piešķir virkni n atstarpes. |
sadalīt (STRING str., STRING glāsts) | masīvs | Sadalās str ap pat (pat ir regulāra izteiksme). |
Str_to_map (teksts [, atdalītājs1, atdalītājs2]) | karte | Tas sadalīs tekstu atslēgas vērtību pāros, izmantojot divus atdalītājus. |
UDF (lietotāja definētas funkcijas):
Stropā lietotāji var definēt savas funkcijas, lai apmierinātu noteiktas klienta prasības. Tie ir pazīstami kā UDF stropā. Lietotāja definētas funkcijas, kas rakstītas Java valodā noteiktiem moduļiem.
Daži no UDF ir īpaši izstrādāti koda atkārtotai lietošanai lietojumprogrammu ietvaros. Izstrādātājs izstrādās šīs funkcijas Java un integrēs šos UDF ar stropu.
Vaicājuma izpildes laikā izstrādātājs var tieši izmantot kodu, un UDF atgriezīs izejas atbilstoši lietotāja definētajiem uzdevumiem. Tas nodrošinās augstu veiktspēju kodēšanas un izpildes ziņā.
Piemēram, stīgu izveidei mums nav nevienas iepriekš definētas funkcijas stropā, tāpēc mēs varam rakstīt stumbra UDF Java valodā. Visur, kur mums nepieciešama stumbra funkcionalitāte, mēs varam tieši saukt šo stublāju par UDF stropā.
Šeit cilmes funkcionalitāte nozīmē vārdu atvasināšanu no saknes vārdiem. Tas ir kā algoritms, kas izriet no vārda "vēlas", "vēlējās" un "vēlmes", samazina vārdu "vēlēšanās". Lai veiktu šāda veida funkcionalitāti, mēs varam rakstīt UDF Java valodā un integrēt ar Hive.
Atkarībā no lietošanas gadījumiem, kad UDF var rakstīt, tas pieņems un radīs atšķirīgu ieejas un izejas vērtību skaitu.
Vispārējais UDF tips pieņems vienu ieejas vērtību un radīs vienu izejas vērtību. Ja vaicājumā tiek izmantots UDF, tad UDF tiks izsaukts reizi katrā rezultātu datu kopas rindā.
Citādi tas var pieņemt vērtību grupu kā ievadi un atgriezt arī vienas izejas vērtību.