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 | 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.