Mis on HiveQL (tarude päringukeel)?
Hive pakub klaviatuuri tarupäringute kirjutamiseks Hive Query Language (HiveQL) abil. Üldiselt sarnaneb HQL-i süntaks SQL-i süntaksiga, mida enamik andmeanalüütikuid tunneb.
Taru SQL-inspireeritud keel eraldab kasutaja Map Reduce'i programmeerimise keerukusest. Õppimise hõlbustamiseks taaskasutab relatsioonide andmebaasimaailmast tuttavaid mõisteid, näiteks tabeleid, ridu, veerge ja skeeme.
Enamik interaktsioone toimub enamasti käsurea liidese (CLI) kaudu. Hive pakub klaviatuuri tarupäringute kirjutamiseks tarude päringukeele (Hive-QL) abil.
Üldiselt sarnaneb HiveQL-i süntaks SQL-i süntaksiga, mida enamik andmeanalüütikuid tunneb. Hive toetab nelja failivormingut, milleks on TEXTFILE, SEQUENCEFILE, ORC ja RCFILE (veerufaili kirje).
- Ühe kasutaja metaandmete salvestamiseks kasutab Hive derby andmebaasi ja
- Mitme kasutaja metaandmete või jagatud metaandmete puhul kasutab Hive MYSQL-i
Sisseehitatud operaatorid
Hive pakub sisseehitatud operaatorid andmeoperatsioonide jaoks, mis tuleb rakendada Hive'i laos asuvatel tabelitel.
Neid operaatoreid kasutatakse operandide matemaatilisteks toiminguteks ja see annab konkreetse väärtuse vastavalt rakendatud loogikale.
HIVE sisseehitatud operaatorite tüübid on järgmised:
- Suheteoperaatorid
- Aritmeetikaoperaatorid
- Loogilised operaatorid
- Operaatorid keerukatel tüüpidel
- Komplekstüüpi konstruktorid
Suhtelised operaatorid:
Kahe operandi suhte võrdlemiseks kasutame relatsioonoperaatoreid.
- Operaatorid nagu võrdne, Pole võrdne, väiksem kui suurem kui… jne
- Operanditüübid on nende operaatorite kõik numbritüübid.
Järgmine tabel annab meile üksikasjad relatsioonide operaatorite ja nende kasutamise kohta.
Sisseehitatud operaator | Kirjeldus | Operand |
X = Y | TÕENE, kui avaldis X on samaväärne avaldisega Y Muidu FALSE. | See võtab kõik primitiivsed tüübid |
X! = Y | TÕENE, kui avaldis X ei ole samaväärne avaldisega Y Muidu FALSE. | See võtab kõik primitiivsed tüübid |
X TÕENE, kui avaldis X on väiksem kui avaldis Y Muidu FALSE. | See võtab kõik primitiivsed tüübid |
|
X <= Y | TÕENE, kui avaldis X on väiksem või võrdne avaldisega Y Muidu FALSE. | See võtab kõik primitiivsed tüübid |
X> Y | TÕENE, kui avaldis X on suurem kui avaldis Y Muidu FALSE. | See võtab kõik primitiivsed tüübid |
X> = Y | TÕENE, kui avaldis X on suurem kui avaldisega Y või sellega võrdne, vastasel juhul FALSE. | See võtab kõik primitiivsed tüübid |
X ON NULL | TÕENE, kui avaldise X väärtuseks on NULL muidu FALSE. | Selleks on vaja kõiki tüüpe |
X EI OLE NULL | FALSE Kui avaldise X väärtuseks on NULL, siis see on tõene. | Selleks on vaja kõiki tüüpe |
X NAGU Y | TÕENE Kui stringimuster X sobib Y-ga, vastasel juhul on FALSE. | Võtab ainult stringe |
X MEELDIB Y | NULL, kui X või Y on NULL, TRUE, kui mõni X alamstring sobib Java regulaaravaldisega Y, muidu FALSE. | Võtab ainult stringe |
X REGEXP Y | Sama mis RLIKE. | Võtab ainult stringe |
Aritmeetikaoperaatorid :
Operandide aritmeetiliste toimingute tegemiseks kasutame aritmeetilisi operaatoreid
- Aritmeetilisi toiminguid, nagu liitmine, lahutamine, korrutamine ja jagamine operandide vahel, kasutame neid operaatoreid.
- Kõik operanditüübid on nende operaatorite arvutüübid
Näidisnäide:
2 + 3 annab tulemuse 5.
Selles näites on '+' operaator ja 2 ja 3 operandid. Tagastusväärtus on 5
Järgmine tabel annab meile üksikasjad aritmeetikaoperaatorite kohta
Sisseehitatud operaator | Kirjeldus | Operand |
X + Y | See tagastab X ja Y väärtuse liitmise väljundi. | Selleks on vaja kõiki numbritüüpe |
X - Y | See tagastab Y väärtusest lahutamise väljundi. | Selleks on vaja kõiki numbritüüpe |
X * Y | See tagastab X ja Y väärtuste korrutamise väljundi. | Selleks on vaja kõiki numbritüüpe |
X / Y | See tagastab Y jagamise väljundi X-st. | Selleks on vaja kõiki numbritüüpe |
X% Y | See tagastab ülejäänud osa, mis tuleneb X jagamisest Y-ga. | Selleks on vaja kõiki numbritüüpe |
X ja Y | See tagastab X ja Y biti JA väljundi. | Selleks on vaja kõiki numbritüüpe |
X | Y | See tagastab X ja Y biti OR väljundi. | Selleks on vaja kõiki numbritüüpe |
X Y | See tagastab X ja Y biti XOR väljundi. | Selleks on vaja kõiki numbritüüpe |
~ X | See tagastab X-i bitti väljundi. | Selleks on vaja kõiki numbritüüpe |
Loogilised operaatorid:
Operandide loogiliste toimingute tegemiseks kasutame loogilisi operaatoreid
- Loogilised toimingud, näiteks JA, VÕI EI EI operandide vahel, kasutame neid operaatoreid.
- Kõik operanditüübid on nendes operaatorites BOOLEAN tüüpi
Järgmine tabel annab meile üksikasjad loogiliste operaatorite kohta
Operaatorid | Kirjeldus | Operandid |
X JA Y | TÕENE, kui nii X kui Y on tõesed, muidu VÄÄR. | Ainult tõeväärtuse tüübid |
X && Y | Sama mis X JA Y, kuid siin kasutame && sümbolit | Ainult tõeväärtuse tüübid |
X VÕI Y | TÕENE, kui kas X või Y või mõlemad on tõesed, muidu VÄÄR. | Ainult tõeväärtuse tüübid |
X || Y | Sama mis X VÕI Y, kuid siin kasutame || sümbol | Ainult tõeväärtuse tüübid |
EI X | TÕENE, kui X on FALSE, muidu FALSE. | Ainult tõeväärtuse tüübid |
! X | Sama mis EI X, kuid siin me kasutame! sümbol | Ainult tõeväärtuse tüübid |
Operaatorid keerulistes tüüpides:
Järgmine tabel annab meile üksikasjad komplekstüüpi operaatorite kohta. Need on operaatorid, kes pakuvad erinevat tüüpi elementidele juurdepääsuks erinevat mehhanismi.
Operaatorid | Operandid | Kirjeldus |
A [n] | A on massiiv ja n on täisarvu tüüp | See tagastab massiivi n-nda elemendi. Esimese elemendi indeks on 0 |
M [klahv] | M on kaart | See tagastab kaardil olevale võtmele kuuluvad väärtused |
Komplekssed konstruktorid:
Järgmine tabel annab meile üksikasjaliku ülevaate keerukat tüüpi konstruktorite kohta. See konstrueerib eksemplare keerukatele andmetüüpidele. Need on keerulised andmetüübid, näiteks Massiiv, Kaart ja Struktuuri tüübid Hive'is.
Selles jaotises näeme kompleksi tüüpi konstruktoritega tehtud toiminguid.
Operaatorid | Operandid | Kirjeldus |
massiiv | (val1, val2,…) | See loob antud elementidega massiivi nagu val1, val2 |
Loo_ liit | (silt, val1, val2,…) | See loob liidu tüübi väärtustega, mida märgendi parameeter mainib |
kaart | (võti1, väärtus1, võti2, väärtus2,…) | See loob kaardi, kus operandid on mainitud antud võtme / väärtuse paaridega |
Nimega_struktuur | (nimi1, val1, nimi2, val2,…) | See loob struktuuri, mille operandides on nimetatud väljade nimed ja väärtused |
STRUKTUUR | (val1, val2, val3,…) | Loob antud välja väärtustega struktuuri. Struktuursete väljade nimed on col1, col2,. |
Kokkuvõte:
Hive pakub Hive'i lattu salvestatud andmetega manipuleerimiseks mõningaid sisseehitatud funktsioone ja operaatoreid. Taru sarnaneb SQL-i keelega, mis toetab igat tüüpi andmetoiminguid ja tabelites ning andmebaasides päringuid.