HiveQL (Hive Query Language) apmācība: iebūvēti operatori

Satura rādītājs:

Anonim

Kas ir HiveQL (stropu vaicājumu valoda)?

Strops nodrošina CLI, lai rakstītu stropu vaicājumus, izmantojot stropa vaicājumu valodu (HiveQL). Parasti HQL sintakse ir līdzīga SQL sintaksei, kas ir pazīstama lielākajai daļai datu analītiķu.

Stropa SQL iedvesmotā valoda atdala lietotāju no programmas Map Reduce sarežģītības. Lai atvieglotu mācīšanos, tā atkārtoti izmanto relāciju datu bāzes pasaulē pazīstamus jēdzienus, piemēram, tabulas, rindas, kolonnas un shēmas.

Lielākā daļa mijiedarbības parasti notiek komandrindas saskarnē (CLI). Strops nodrošina CLI, lai rakstītu stropu vaicājumus, izmantojot stropa vaicājumu valodu (Hive-QL).

Parasti HiveQL sintakse ir līdzīga SQL sintaksei, kas ir pazīstama lielākajai daļai datu analītiķu. Strops atbalsta četrus failu formātus: TEXTFILE, SEQUENCEFILE, ORC un RCFILE (Record Columnar File).

  • Viena lietotāja metadatu glabāšanai Hive izmanto derby datu bāzi un
  • Vairāku lietotāju metadatiem vai koplietotajiem metadatu gadījumiem strops izmanto MYSQL

Iebūvēti operatori

Hive nodrošina iebūvētus operatorus datu operācijām, kas jāievieš tabulās, kas atrodas Hive noliktavā.

Šie operatori tiek izmantoti operandu matemātiskām operācijām, un tas atgriezīs konkrēto vērtību atbilstoši pielietotajai loģikai.

HIVE iebūvēto operatoru veidi ir:

  • Relāciju operatori
  • Aritmētiskie operatori
  • Loģiskie operatori
  • Operatori kompleksos veidos
  • Kompleksā tipa konstruktori

Relāciju operatori:

Mēs izmantojam Relāciju operatorus divu operandu attiecību salīdzināšanai.

  • Operatori, piemēram, vienāds ar, nav vienāds, mazāks par, lielāks par ... utt
  • Šajos operatoros visi operanda tipi ir skaitļu veidi.

Šajā tabulā tiks sniegta informācija par relāciju operatoriem un to lietošanu.

Iebūvēts operators Apraksts Operands
X = Y PATIESA, ja izteiksme X ir ekvivalenta izteiksmei Y Pretējā gadījumā FALSE. Tas prasa visus primitīvos veidus
X! = Y PATIESA, ja izteiksme X nav ekvivalenta izteiksmei Y Citādi FALSE. Tas prasa visus primitīvos veidus
X TRUE, ja izteiksme X ir mazāka par izteiksmi Y Pretējā gadījumā FALSE. Tas prasa visus primitīvos veidus
X <= Y PATIESA, ja izteiksme X ir mazāka vai vienāda ar izteiksmi Y Citādi FALSE. Tas prasa visus primitīvos veidus
X> Y PATIESA, ja izteiksme X ir lielāka par izteiksmi Y Citādi FALSE. Tas prasa visus primitīvos veidus
X> = Y PATIESA, ja izteiksme X ir lielāka vai vienāda ar izteiksmi Y Citādi FALSE. Tas prasa visus primitīvos veidus
X IR NULL PATIESA, ja izteiksme X vērtē kā NULL citādi FALSE. Tas prasa visus veidus
X NAV NULL FALSE Ja izteiksme X vērtē kā NULL citādi TRUE. Tas prasa visus veidus
X LĪDZ Y TRUE, ja virknes modelis X atbilst Y, citādi FALSE. Uzņem tikai virknes
X PATĪK Y NULL, ja X vai Y ir NULL, TRUE, ja kāds X apakšvirsraksts atbilst Java regulārajai izteiksmei Y, pretējā gadījumā FALSE. Uzņem tikai virknes
X REGEXP Y Tas pats, kas RLIKE. Uzņem tikai virknes

Aritmētiskie operatori :

Operāciju aritmētisko darbību veikšanai mēs izmantojam aritmētiskos operatorus

  • Aritmētiskās darbības, piemēram, saskaitīšana, atņemšana, reizināšana un dalīšana starp operandiem, mēs izmantojam šos Operatorus.
  • Visi operanda tipi šajos operatoros ir skaitļu tipi

Parauga piemērs:

2 + 3 dod rezultātu 5.

Šajā piemērā '+' ir operators, bet 2. un 3. ir operands. Atgriešanās vērtība ir 5

Šajā tabulā tiks sniegta informācija par aritmētiskajiem operatoriem

Iebūvēts operators Apraksts Operands
X + Y Tas atgriezīs X un Y vērtību pievienošanas rezultātu. Tam nepieciešami visi skaitļu veidi
X - Y Tas atgriezīs Y atņemšanas rezultātu no X vērtības. Tam nepieciešami visi skaitļu veidi
X * Y Tas atgriezīs X un Y vērtību reizināšanas rezultātu. Tam nepieciešami visi skaitļu veidi
X / Y Tas atgriezīs Y dalīšanas rezultātu no X. Tam nepieciešami visi skaitļu veidi
X% Y Tas atgriezīs atlikušo daļu, kas rodas, dalot X ar Y. Tam nepieciešami visi skaitļu veidi
X & Y Tas atgriezīs X un Y bitu AND izvadi. Tam nepieciešami visi skaitļu veidi
X | Jā Tas atgriezīs X un Y bitu OR izvadi. Tam nepieciešami visi skaitļu veidi
X Y Tas atgriezīs X un Y bitu XOR izvadi. Tam nepieciešami visi skaitļu veidi
~ X Tas atgriezīs X no X bitu izteiksmē. Tam nepieciešami visi skaitļu veidi

Loģiskie operatori:

Operatoru loģisko darbību veikšanai mēs izmantojam loģiskos operatorus

  • Loģiskas darbības, piemēram, AND, OR, NOT starp operandiem, mēs izmantojam šos Operatorus.
  • Šajos operatoros visi operanda tipi ir BOOLEAN tipa

Šajā tabulā tiks sniegta informācija par loģiskajiem operatoriem

Operatori Apraksts Operandi
X UN Y PATIESA, ja gan X, gan Y ir PATIESA, citādi FALSE. Tikai Būla tipi
X && Y Tas pats, kas X un Y, bet šeit mēs izmantojam simbolu && Tikai Būla tipi
X VAI Y PATIESA, ja X vai Y vai abi ir PATIESI, citādi FALSE. Tikai Būla tipi
X || Jā Tas pats, kas X vai Y, bet šeit mēs izmantojam || simbols Tikai Būla tipi
NAV X PATIESA, ja X ir FALSE, citādi FALSE. Tikai Būla tipi
X Tas pats, kas NOT X, bet šeit mēs izmantojam! simbols Tikai Būla tipi

Operatori kompleksos veidos:

Šajā tabulā tiks sniegta informācija par kompleksa tipa operatoriem. Tie ir operatori, kas nodrošinās atšķirīgu mehānismu, lai piekļūtu sarežģītu veidu elementiem.

Operatori Operandi Apraksts
A [n] A ir masīvs un n ir vesels skaitlis Tas atgriezīs n-to elementu masīvā A. Pirmā elementa indekss ir 0
M [taustiņš] M ir karte , un taustiņam ir tips K Tas atgriezīs vērtības, kas pieder atslēgai kartē

Kompleksā tipa konstruktori:

Šajā tabulā tiks sniegta informācija par kompleksa tipa konstruktoriem. Tas konstruēs gadījumus par sarežģītiem datu tipiem. Tie ir sarežģīti datu tipi, piemēram, masīvs, karte un struktūras veidi stropā.

Šajā sadaļā mēs redzēsim operācijas, kas veiktas ar kompleksa tipa konstruktoriem.

Operatori Operandi Apraksts
masīvs (val1, val2,…) Tas izveidos masīvu ar norādītajiem elementiem, piemēram, val1, val2
Izveidot_ savienību (tags, val1, val2,…) Tas izveidos savienojuma veidu ar vērtībām, kuras piemin tag taga parametrs
karte (atslēga1, vērtība1, atslēga2, vērtība2,…) Tas izveidos karti ar dotajiem atslēgu / vērtību pāriem, kas minēti operandos
Nosaukts_struktūra (nosaukums1, val1, nosaukums2, val2,…) Tas izveidos struktūru ar norādītajiem lauku nosaukumiem un operandos minētajām vērtībām
STRUKTŪRA (val1, val2, val3,…) Izveido struktūru ar norādītajām lauka vērtībām. Strukturālo lauku nosaukumi būs col1, col2,.

Kopsavilkums:

Hive nodrošina dažas iebūvētas funkcijas un operatorus, lai manipulētu ar Hive noliktavā saglabātajiem datiem. Strops ir līdzīgs SQL valodai, kas atbalsta visa veida datu operācijas un vaicājumus tabulās un datu bāzēs.