Ce este HiveQL (Hive Query Language)?
Hive oferă o CLI pentru a scrie interogări Hive folosind Hive Query Language (HiveQL). În general, sintaxa HQL este similară cu sintaxa SQL cu care sunt familiarizați majoritatea analiștilor de date.
Limbajul inspirat din SQL al lui Hive separă utilizatorul de complexitatea programării Map Reduce. Reutilizează concepte familiare din lumea bazelor de date relaționale, cum ar fi tabele, rânduri, coloane și schemă, pentru a ușura învățarea.
Cele mai multe interacțiuni tind să aibă loc printr-o interfață de linie de comandă (CLI). Hive oferă o CLI pentru a scrie interogări Hive folosind Hive Query Language (Hive-QL).
În general, sintaxa HiveQL este similară cu sintaxa SQL cu care sunt familiarizați majoritatea analiștilor de date. Hive acceptă patru formate de fișiere, acestea fiind TEXTFILE, SEQUENCEFILE, ORC și RCFILE (Record Columnar File).
- Pentru stocarea metadatelor cu un singur utilizator, Hive folosește baza de date derby și
- Pentru metadatele cu mai mulți utilizatori sau cazul de metadate partajat, Hive folosește MYSQL
Operatori încorporați
Hive oferă operatori încorporați pentru operațiunile de date care urmează să fie implementate pe tabelele prezente în depozitul Hive.
Acești operatori sunt utilizați pentru operații matematice pe operanzi și vor returna o valoare specifică conform logicii aplicate.
Tipurile de operatori încorporați în HIVE sunt:
- Operatori relaționali
- Operatori aritmetici
- Operatori logici
- Operatori pe tipuri complexe
- Constructori de tip complex
Operatori relaționali:
Folosim operatori relaționali pentru comparații de relații între doi operanzi.
- Operatori precum egali, Nu egali, mai mici decât, mai mari decât ... etc.
- Tipurile de operandi sunt toate tipurile de numere din acești Operatori.
Tabelul următor ne va oferi detalii despre operatorii relaționali și despre utilizarea acestuia.
Operator încorporat | Descriere | Operand |
X = Y | ADEVĂRAT dacă expresia X este echivalentă cu expresia Y Altfel FALS. | Este nevoie de toate tipurile primitive |
X! = Y | ADEVĂRAT dacă expresia X nu este echivalentă cu expresia Y Altfel FALS. | Este nevoie de toate tipurile primitive |
X ADEVĂRAT dacă expresia X este mai mică decât expresia Y Altfel FALS. | Este nevoie de toate tipurile primitive |
|
X <= Y | ADEVĂRAT dacă expresia X este mai mică sau egală cu expresia Y Altfel FALS. | Este nevoie de toate tipurile primitive |
X> Y | ADEVĂRAT dacă expresia X este mai mare decât expresia Y Altfel FALS. | Este nevoie de toate tipurile primitive |
X> = Y | ADEVĂRAT dacă expresia X este mai mare sau egală cu expresia Y Altfel FALS. | Este nevoie de toate tipurile primitive |
X ESTE NUL | ADEVĂRAT dacă expresia X se evaluează la NUL altfel FALS. | Este nevoie de toate tipurile |
X NU ESTE NUL | FALS Dacă expresia X se evaluează la NUL altfel ADEVĂRAT. | Este nevoie de toate tipurile |
X COME Y | ADEVĂRAT Dacă modelul șirului X se potrivește cu Y altfel FALS. | Ia doar șiruri |
X RLIKE Y | NULL dacă X sau Y este NULL, ADEVĂRAT dacă orice șir de X se potrivește cu expresia regulată Java Y, altfel FALS. | Ia doar șiruri |
X REGEXP Y | La fel ca RLIKE. | Ia doar șiruri |
Operatori aritmetici :
Folosim operatori aritmetici pentru efectuarea operațiilor aritmetice pe operanzi
- Operațiile aritmetice, cum ar fi adunarea, scăderea, înmulțirea și împărțirea între operanzi folosim acești operatori.
- Tipurile de operandi sunt toate tipurile de numere din acești Operatori
Exemplu de exemplu:
2 + 3 dă rezultatul 5.
În acest exemplu, „+” este operatorul și 2 și 3 sunt operanzi. Valoarea returnată este 5
Tabelul următor ne va oferi detalii despre operatorii aritmetici
Operator încorporat | Descriere | Operand |
X + Y | Se va returna rezultatul adăugării valorilor X și Y. | Este nevoie de toate tipurile de numere |
X Y | Acesta va returna ieșirea scăzând Y din valoarea X. | Este nevoie de toate tipurile de numere |
X Y | Acesta va returna ieșirea multiplicării valorilor X și Y. | Este nevoie de toate tipurile de numere |
X Y | Acesta va returna ieșirea împărțirii Y de X. | Este nevoie de toate tipurile de numere |
X Y | Va restitui restul rezultat din împărțirea lui X la Y. | Este nevoie de toate tipurile de numere |
X Y | Acesta va returna ieșirea bit și ȘI a lui X și Y. | Este nevoie de toate tipurile de numere |
X | Da | Acesta va returna ieșirea OR în biți a lui X și Y. | Este nevoie de toate tipurile de numere |
X Y | Acesta va returna ieșirea XOR în biți a lui X și Y. | Este nevoie de toate tipurile de numere |
~ X | Se va returna ieșirea în sensul bitului NU a lui X. | Este nevoie de toate tipurile de numere |
Operatori logici:
Folosim operatori logici pentru efectuarea operațiilor logice pe operanzi
- Operațiuni logice precum ȘI, SAU, NU între operanzi folosim acești Operatori.
- Tipurile de operandi sunt toate de tip BOOLEAN în acești Operatori
Tabelul următor ne va oferi detalii despre operatorii logici
Operatori | Descriere | Operanzi |
X ȘI Y | ADEVĂRAT dacă ambele X și Y sunt ADEVĂRATE, altfel FALS. | Numai tipuri booleene |
X Y | La fel ca X ȘI Y, dar aici folosim simbolul && | Numai tipuri booleene |
X SAU Y | ADEVĂRAT dacă X sau Y sau ambele sunt ADEVĂRATE, altfel FALS. | Numai tipuri booleene |
X || Da | La fel ca X SAU Y dar aici folosim || simbol | Numai tipuri booleene |
NU X | ADEVĂRAT dacă X este FALS, altfel FALS. | Numai tipuri booleene |
!X | La fel ca NOT X dar aici folosim! simbol | Numai tipuri booleene |
Operatori pe tipuri complexe:
Tabelul următor ne va oferi detalii despre operatorii de tip complex. Aceștia sunt operatori care vor oferi un mecanism diferit pentru accesarea elementelor în tipuri complexe.
Operatori | Operanzi | Descriere |
Un] | A este o matrice și n este un tip întreg | Va returna al n-lea element din matricea A. Primul element are un indice 0 |
M [tasta] | M este o hartă | Va returna valorile aparținând cheii de pe hartă |
Constructori de tip complex:
Tabelul următor ne va oferi detalii despre constructorii de tip Complex. Acesta va construi instanțe pe tipuri de date complexe. Acestea sunt de tipuri de date complexe, cum ar fi tipurile Array, Map și Struct în Hive.
În această secțiune, vom vedea operațiunile efectuate pe constructori de tip Complex.
Operatori | Operanzi | Descriere |
matrice | (val1, val2, ...) | Se va crea o matrice cu elementele date așa cum se menționează, cum ar fi val1, val2 |
Creați_unire | (etichetă, val1, val2, ...) | Se va crea un tip de uniune cu valorile menționate de parametrul etichetei |
Hartă | (cheia1, valoarea1, cheia2, valoarea2, ...) | Se va crea o hartă cu perechile cheie / valoare date menționate în operanzi |
Numit_struct | (nume1, val1, nume2, val2, ...) | Se va crea un Struct cu numele câmpurilor date și valorile menționate în operanzi |
STRUCT | (val1, val2, val3, ...) | Creează un Struct cu valorile de câmp date. Numele de câmp Struct vor fi col1, col2,. |
Rezumat:
Hive oferă câteva funcții și operatori încorporați pentru a manipula datele stocate în depozitul Hive. Hive este similar cu limbajul SQL, care acceptă toate tipurile de operații de date și interogări pe tabele și baze de date.