Vodič za HiveQL (jezik upita za košnice): Ugrađeni operateri

Sadržaj:

Anonim

Što je HiveQL (jezik upita za košnice)?

Hive nudi CLI za pisanje upita o košnici koristeći jezik upita za košnice (HiveQL). Općenito je HQL sintaksa slična SQL sintaksi koju poznaje većina analitičara podataka.

Hiveov jezik nadahnut SQL-om odvaja korisnika od složenosti programiranja Map Reduce. Ponovno koristi poznate koncepte iz svijeta relacijskih baza podataka, poput tablica, redaka, stupaca i shema, kako bi se olakšalo učenje.

Većina interakcija obično se odvija preko sučelja naredbenog retka (CLI). Hive nudi CLI za pisanje upita o košnici koristeći Hive Query Language (Hive-QL).

Općenito, sintaksa HiveQL slična je sintaksi SQL koja je poznata većini analitičara podataka. Hive podržava četiri formata datoteka, a to su TEXTFILE, SEQUENCEFILE, ORC i RCFILE (Datoteka stupca snimanja).

  • Za pohranu metapodataka za jednog korisnika Hive koristi bazu podataka derbija i
  • Za višekorisničke metapodatke ili zajednički slučaj metapodataka Hive koristi MYSQL

Ugrađeni operatori

Hive pruža ugrađene operatore za operacije podataka koje će se implementirati na stolovima unutar skladišta Hive.

Ovi se operateri koriste za matematičke operacije nad operandima i vratit će određenu vrijednost prema primijenjenoj logici.

Vrste ugrađenih operatora u HIVE su:

  • Relacijski operateri
  • Aritmetički operatori
  • Logički operatori
  • Operatori na složenim vrstama
  • Konstruktori složenog tipa

Relacijski operateri:

Relacijske operatore koristimo za usporedbu odnosa između dva operanda.

  • Operatori kao što su jednaki, nisu jednaki, manji od, veći od ... itd
  • Tipovi operanda su svi tipovi brojeva u ovim Operatorima.

Sljedeća tablica pružit će nam detalje o relacijskim operatorima i njegovoj upotrebi.

Ugrađeni operater Opis Operand
X = Y TRUE ako je izraz X ekvivalentan izrazu Y Inače FALSE. Potrebne su sve primitivne vrste
X! = Y TRUE ako izraz X nije ekvivalentan izrazu Y Inače FALSE. Potrebne su sve primitivne vrste
X ISTINA ako je izraz X manji od izraza Y Inače FALSE. Potrebne su sve primitivne vrste
X <= Y TRUE ako je izraz X manji ili jednak izrazu Y Inače FALSE. Potrebne su sve primitivne vrste
X> Y ISTINA ako je izraz X veći od izraza Y Inače FALSE. Potrebne su sve primitivne vrste
X> = Y ISTINA ako je izraz X veći ili jednak izrazu Y Inače FALSE. Potrebne su sve primitivne vrste
X JE NIŠTA ISTINA ako izraz X izračunava NULL u suprotnom FALSE. Potrebne su sve vrste
X NIJE NULTA FALSE Ako izraz X izračunava NULL u suprotnom TRUE. Potrebne su sve vrste
X KAO Y ISTINA Ako se obrazac niza X podudara s Y, inače je FALSE. Zauzima samo žice
X POVEZATI Y NULL ako je X ili Y NULL, TRUE ako se bilo koji podniz X podudara s Java regularnim izrazom Y, inače FALSE. Zauzima samo žice
X REGEXP Y Isto kao i RLIKE. Zauzima samo žice

Aritmetički operatori :

Za izvođenje aritmetičkih operacija na operandima koristimo aritmetičke operatore

  • Aritmetičke operacije poput zbrajanja, oduzimanja, množenja i dijeljenja između operanda koristimo ove operatore.
  • Sve vrste operanda su tipovi brojeva u ovim Operatorima

Primjer uzorka:

2 + 3 daje rezultat 5.

U ovom primjeru, '+' je operater, a 2 i 3 su operandi. Povratna vrijednost je 5

Sljedeća tablica pružit će nam detalje o aritmetičkim operatorima

Ugrađeni operater Opis Operand
X + Y Vratit će izlaz dodavanja vrijednosti X i Y. Potrebne su sve vrste brojeva
X - Y Vratit će se izlaz oduzimanja Y od X vrijednosti. Potrebne su sve vrste brojeva
X * Y Vratit će izlaz množenja X i Y vrijednosti. Potrebne su sve vrste brojeva
X / Y Vratit će izlaz dijeljenja Y iz X. Potrebne su sve vrste brojeva
X% Y Vratit će ostatak koji je rezultat dijeljenja X s Y. Potrebne su sve vrste brojeva
X & Y Vratit će izlaz bitnog I od X i Y. Potrebne su sve vrste brojeva
X | Y Vratit će izlaz bitnog ILI od X i Y. Potrebne su sve vrste brojeva
X Y Vratit će izlaz bitnog XOR-a X i Y. Potrebne su sve vrste brojeva
~ X Vratit će izlaz bitnog NIJE od X. Potrebne su sve vrste brojeva

Logički operateri:

Za izvođenje logičkih operacija na operandima koristimo logičke operatore

  • Logičke operacije poput I, ILI, NE između operanda koristimo ove operatore.
  • Svi tipovi operanda su u ovim Operatorima tipa BOOLEAN

Sljedeća tablica pružit će nam detalje o logičkim operatorima

Operateri Opis Operandi
X I Y TRUE ako su i X i Y TRUE, inače FALSE. Samo logičke vrste
X && Y Isto kao X I Y, ali ovdje koristimo simbol && Samo logičke vrste
X ILI Y TRUE ako su X ili Y ili oboje TRUE, inače FALSE. Samo logičke vrste
X || Y Isto kao X ILI Y, ali ovdje koristimo || simbol Samo logičke vrste
NIJE X TRUE ako je X FALSE, u suprotnom FALSE. Samo logičke vrste
!X Isto kao NOT X, ali ovdje koristimo! simbol Samo logičke vrste

Operatori na složenim vrstama:

Sljedeća tablica pružit će nam detalje o operatorima složenog tipa. To su operatori koji će pružiti drugačiji mehanizam za pristup elementima složenih tipova.

Operateri Operandi Opis
A [n] A je niz, a n je cijeli broj Vratit će n-ti element u polju A. Prvi element ima indeks 0
M [tipka] M je karta i tipka ima tip K Vratit će vrijednosti koje pripadaju ključu na karti

Konstruktori složenog tipa:

Sljedeća tablica pružit će nam detalje o konstruktorima složenog tipa. Konstruirat će instance na složenim vrstama podataka. Riječ je o složenim vrstama podataka kao što su tipovi polja, mape i strukture u košnici.

U ovom ćemo odjeljku vidjeti operacije izvedene na konstruktorima složenog tipa.

Operateri Operandi Opis
niz (val1, val2,…) Stvorit će niz s danim elementima kao što je spomenuto poput val1, val2
Create_ union (oznaka, val1, val2,…) Stvorit će tip unije s vrijednostima na koje se spominje parametar oznake
karta (ključ1, vrijednost1, ključ2, vrijednost2,…) Stvorit će mapu s danim parovima ključ / vrijednost koji se spominju u operandima
Nazvani_strukt (ime1, val1, ime2, val2,…) Stvorit će strukturu s danim imenima polja i vrijednostima spomenutim u operandima
STRUKT (val1, val2, val3,…) Stvara strukturu s danim vrijednostima polja. Imena polja strukture bit će col1, col2,.

Sažetak:

Hive nudi neke ugrađene funkcije i operatore za manipulaciju podacima pohranjenim u skladištu Hive. Hive je sličan SQL jeziku, koji podržava sve vrste podatkovnih operacija i upite u tablicama i bazama podataka.