Kas yra „HiveQL“ (avilio užklausų kalba)?
„Hive“ teikia CLI, kad būtų galima rašyti „Hive“ užklausas naudojant „Hive Query Language“ (HiveQL). Paprastai HQL sintaksė yra panaši į SQL sintaksę, kurią žino dauguma duomenų analitikų.
„Hive“ SQL įkvėpta kalba atskiria vartotoją nuo „Map Reduce“ programavimo sudėtingumo. Siekiant palengvinti mokymąsi, pakartotinai naudojamos žinomos sąvokos iš reliacinių duomenų bazių pasaulio, tokios kaip lentelės, eilutės, stulpeliai ir schemos.
Dažniausiai sąveika vyksta per komandinės eilutės sąsają (CLI). „Hive“ teikia CLI, kad būtų galima rašyti „Hive“ užklausas naudojant „Hive Query Language“ („Hive-QL“).
Paprastai „HiveQL“ sintaksė yra panaši į SQL sintaksę, kurią žino dauguma duomenų analitikų. „Hive“ palaiko keturis failų formatus: TEXTFILE, SEQUENCEFILE, ORC ir RCFILE (įrašo stulpelio failas).
- Vieno vartotojo metaduomenų saugojimui Hive naudoja derby duomenų bazę ir
- Kelių vartotojų metaduomenims arba bendriems metaduomenų atvejams „Hive“ naudoja „MYSQL“
Įmontuoti operatoriai
„Hive“ teikia įmontuotus duomenų operacijų operatorius, kurie turi būti įdiegti į „Hive“ sandėlyje esančias lenteles.
Šie operatoriai naudojami matematinėms operandų operacijoms atlikti, ir tai grąžins konkrečią vertę pagal taikomą logiką.
HIVE įmontuotų operatorių tipai yra šie:
- Ryšių operatoriai
- Aritmetikos operatoriai
- Loginiai operatoriai
- Kompleksinių tipų operatoriai
- Kompleksinio tipo konstruktoriai
Ryšių operatoriai:
Santykių operatoriams naudojame dviejų operandų santykius.
- Operatoriai, tokie kaip lygu, Nelygu, mažesnis, didesnis nei ... ir kt
- Operantų tipai yra visi šių operatorių skaičių tipai.
Šioje lentelėje pateikiama išsami informacija apie „Relational“ operatorius ir jų naudojimą.
Įmontuotas operatorius | apibūdinimas | Operandas |
X = Y | TIESA, jei X išraiška yra ekvivalenta Y išraiškai, kitaip NETIESA. | Tam reikia visų primityvių tipų |
X! = Y | TIESA, jei X išraiška nėra tolygi Y išraiškai, kitaip NETIESA. | Tam reikia visų primityvių tipų |
X TIESA, jei X išraiška yra mažesnė nei Y išraiška, kitaip NETIESA. | Tam reikia visų primityvių tipų |
|
X <= Y | TIESA, jei X išraiška yra mažesnė arba lygi Y išraiškai, kitaip NETIESA. | Tam reikia visų primityvių tipų |
X> Y | TIESA, jei X išraiška yra didesnė už Y išraišką, kitaip NETIESA. | Tam reikia visų primityvių tipų |
X> = Y | TIESA, jei X išraiška yra didesnė arba lygi Y išraiškai, kitaip NETIESA. | Tam reikia visų primityvių tipų |
X YRA NIKŠTAS | TIESA, jei X išraiška NULL vertinama kitaip NETIESA. | Tam reikia visų tipų |
X NEBŪTINAS | NETIESA Jei X išraiška NULL vertinama kitaip TIESA. | Tam reikia visų tipų |
X Panašus į Y | TIESA Jei eilutės šablonas X sutampa su Y kitaip NETIESA. | Priima tik stygas |
X Panašus į Y | NULL, jei X arba Y yra NULL, TRUE, jei kuri nors X eilutė atitinka „Java“ taisyklingąją išraišką Y, kitaip FALSE. | Priima tik stygas |
X REGEXP Y | Tas pats kaip RLIKE. | Priima tik stygas |
Aritmetiniai operatoriai :
Operacijoms atlikti aritmetines operacijas naudojame aritmetikos operatorius
- Aritmetines operacijas, tokias kaip sudėjimas, atimimas, dauginimas ir padalijimas tarp operandų, mes naudojame šiuos operatorius.
- Visi operandų tipai yra šių operatorių skaičių tipai
Pavyzdinis pavyzdys:
2 + 3 duoda 5 rezultatą.
Šiame pavyzdyje „+“ yra operatorius, o 2 ir 3 yra operandai. Grąžinimo vertė yra 5
Šioje lentelėje pateikiama išsami informacija apie aritmetikos operatorius
Įmontuotas operatorius | apibūdinimas | Operandas |
X + Y | Tai grąžins X ir Y vertės pridėjimo išvestį. | Tam reikia visų skaičių tipų |
X - Y | Tai grąžins Y atimant X reikšmę. | Tam reikia visų skaičių tipų |
X * Y | Tai grąžins padaugintų X ir Y reikšmių išvestį. | Tam reikia visų skaičių tipų |
X / Y | Tai grąžins Y dalijimo iš X išėjimą. | Tam reikia visų skaičių tipų |
X% Y | Tai grąžins likusią dalį, gautą dalijant X iš Y. | Tam reikia visų skaičių tipų |
X ir Y | Tai grąžins X ir Y bitų IR išvestį. | Tam reikia visų skaičių tipų |
X | Y | Tai grąžins X ir Y bitų OR išvestį. | Tam reikia visų skaičių tipų |
X Y | Tai grąžins X ir Y bitų XOR išvestį. | Tam reikia visų skaičių tipų |
~ X | Tai grąžins X X bitų išvestį. | Tam reikia visų skaičių tipų |
Loginiai operatoriai:
Operatorių loginėms operacijoms atlikti naudojame loginius operatorius
- Loginės operacijos, pvz., AND, OR, NOT tarp operandų, mes naudojame šiuos operatorius.
- Visi šie operatoriai yra BOOLEAN tipo
Šioje lentelėje bus pateikta išsami informacija apie loginius operatorius
Operatoriai | apibūdinimas | Operandai |
X IR Y | TIESA, jei tiek X, tiek Y yra TIESA, kitaip NETIESA. | Tik loginiai tipai |
X && Y | Tas pats kaip X IR Y, bet čia mes naudojame && simbolį | Tik loginiai tipai |
X ARBA Y | TIKRA, jei X arba Y, arba abu yra TIESA, kitaip NETIESA. | Tik loginiai tipai |
X || Y | Tas pats kaip X ARBA Y, bet čia mes naudojame || simbolis | Tik loginiai tipai |
NE X | TIESA, jei X yra NETIESA, kitaip NETIESA. | Tik loginiai tipai |
! X | Tas pats, kas NE X, bet čia mes naudojame! simbolis | Tik loginiai tipai |
Kompleksinių tipų operatoriai:
Šioje lentelėje pateikiama išsami informacija apie sudėtingo tipo operatorius. Tai operatoriai, kurie suteiks kitokį mechanizmą, kaip pasiekti sudėtingo tipo elementus.
Operatoriai | Operandai | apibūdinimas |
A [n] | A yra masyvas, o n yra sveiko skaičiaus tipas | Jis grąžins n-ąjį elementą masyve A. Pirmojo elemento indeksas yra 0 |
M [raktas] | M yra žemėlapis | Tai grąžins reikšmes, priklausančias raktui žemėlapyje |
Kompleksinio tipo konstruktoriai:
Šioje lentelėje bus pateikta išsami informacija apie sudėtingo tipo konstruktorius. Tai sukurs sudėtingų duomenų tipų egzempliorius. Tai sudėtingi duomenų tipai, tokie kaip „Masyvas“, „Žemėlapis“ ir „Struktūra“ avilyje.
Šiame skyriuje apžvelgsime operacijas, atliekamas su sudėtingo tipo konstruktoriais.
Operatoriai | Operandai | apibūdinimas |
masyvas | (val1, val2,…) | Tai sukurs masyvą su pateiktais elementais, kaip minėta, pvz., Val1, val2 |
Sukurti_ sąjungą | (žymė, val1, val2,…) | Tai sukurs sąjungos tipą su vertėmis, kurias mini žymos parametras |
žemėlapis | (raktas1, reikšmė1, raktas2, reikšmė2,…) | Tai sukurs žemėlapį su nurodytomis raktų / reikšmių poromis, paminėtomis operanduose |
Pavadinta_struktūra | (vardas1, val1, vardas2, val2,…) | Tai sukurs „Struct“ su nurodytais laukų pavadinimais ir reikšmėmis, paminėtomis operanduose |
STRUKTŪRA | (val1, val2, val3,…) | Sukuria „Struct“ su nurodytomis lauko reikšmėmis. Struktūriniai laukų pavadinimai bus col1, col2,. |
Santrauka:
„Hive“ teikia kai kurias įmontuotas funkcijas ir operatorius, kad galėtų tvarkyti duomenis, saugomus „Hive“ sandėlyje. Avilys yra panašus į SQL kalbą, kuri palaiko visų tipų duomenų operacijas ir užklausas lentelėse ir duomenų bazėse.