„HiveQL“ („Hive Query Language“) mokymo programa: įmontuoti operatoriai

Turinys:

Anonim

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 , o raktas turi K tipą 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.