Ce este Hive Query Language: HiveQL Operatori

Ce este Hive Query Language (HiveQL)?

Hive Query Language (HiveQL) este un limbaj de interogare în Apache Hive pentru procesarea și analiza datelor structurate. Separă utilizatorii de complexitatea programării Map Reduce. Reutiliza concepte comune din bazele de date relaționale, cum ar fi tabele, rânduri, coloane și schema, pentru a ușura învățarea. Hive oferă un CLI pentru scrierea interogărilor Hive folosind Hive Query Language (HiveQL).

Cele mai multe interacțiuni tind să aibă loc printr-o interfață de linie de comandă (CLI). În general, sintaxa HiveQL este similară cu SQL sintaxă cu care sunt familiarizați majoritatea analiștilor de date. Hive acceptă patru formate de fișiere care sunt: ​​TEXTFILE, SEQUENCEFILE, ORC și RCFILE (Record Columnar File).

Hive folosește baza de date Derby pentru stocarea metadatelor cu un singur utilizator, iar pentru metadatele cu mai mulți utilizatori sau cazul metadatelor partajate, Hive folosește MYSQL.

HiveQL încorporat Operatori

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.

Mai jos sunt principalele tipuri de Built-in Operatori în HiveQL:

  • Relațional Operatori
  • Aritmetică Operatori
  • Logic Operatori
  • Operators pe tipuri complexe
  • Constructori de tip complex

Relațional Operatori în Hive SQL

Folosim operatori relaționali pentru compararea relațiilor dintre doi operanzi.

  • Operatori precum egal, Nu este egal, mai mic decât, mai mare decât … etc
  • Tipurile de operanzi sunt toate tipurile de numere din acestea Operators.

Următorul tabel ne va oferi detalii despre operatorii relaționali și utilizarea acestora în HiveQL:

Built-in OperaTdR Descriere Operand
X = Y TRUE

dacă expresia X este echivalentă cu expresia Y

Altfel, FALS.

Este nevoie de toate tipurile primitive
X != Y TRUE

dacă expresia X nu este echivalentă cu expresia Y

Altfel, FALS.

Este nevoie de toate tipurile primitive
X < Y TRUE

dacă expresia X este mai mică decât expresia Y

Altfel, FALS.

Este nevoie de toate tipurile primitive
X <= Y TRUE

dacă expresia X este mai mică sau egală cu expresia Y

Altfel, FALS.

Este nevoie de toate tipurile primitive
X>Y TRUE

dacă expresia X este mai mare decât expresia Y

Altfel, FALS.

Este nevoie de toate tipurile primitive
X>= Y TRUE

dacă expresia X este mai mare sau egală cu expresia Y

Altfel, FALS.

Este nevoie de toate tipurile primitive
X ESTE NUL TRUE dacă expresia X evaluează la NULL, altfel FALSE. Este nevoie de toate tipurile
X NU ESTE NUL FALS

Dacă expresia X evaluează la NULL, altfel TRUE.

Este nevoie de toate tipurile
X LIKE Y TRUE

Dacă modelul de șir X se potrivește cu Y, altfel FALSE.

Ia doar șiruri
X RIKE Y NULL dacă X sau Y este NULL, TRUE dacă orice subșir de X se potrivește cu Java expresie regulată Y, altfel FALSE. Ia doar șiruri
X REGEXP Y La fel ca RLIKE. Ia doar șiruri

Aritmetica HiveQL Operatori

Folosim operatori aritmetici pentru a efectua operații aritmetice pe operanzi

  • Operațiile aritmetice precum adunarea, scăderea, înmulțirea și împărțirea între operanzi le folosim Operators.
  • Toate tipurile de operanzi sunt tipuri de numere în acestea Operatori

Exemplu de exemplu:

2 + 3 dă rezultatul 5.

În acest exemplu, „+” este operatorul, iar 2 și 3 sunt operanzi. Valoarea returnată este 5

Următorul tabel ne va oferi detalii despre operatorii aritmetici în limbajul de interogare Hive:

Built-in OperaTdR Descriere Operand
X + Y Va returna rezultatul adăugării valorii X și Y. Este nevoie de toate tipurile de numere
X Y Va returna rezultatul scăderii lui Y din valoarea X. Este nevoie de toate tipurile de numere
X Y Va returna rezultatul înmulțirii valorilor X și Y. Este nevoie de toate tipurile de numere
X Y Va returna rezultatul împărțirii lui Y de X. Este nevoie de toate tipurile de numere
X Y Va returna restul rezultat din împărțirea X la Y. Este nevoie de toate tipurile de numere
X Y Va returna ieșirea AND pe biți a lui X și Y. Este nevoie de toate tipurile de numere
X | Y Va returna ieșirea OR pe biți a X și Y. Este nevoie de toate tipurile de numere
X ^ Y Va returna ieșirea XOR pe biți a X și Y. Este nevoie de toate tipurile de numere
~X Va returna ieșirea pe bit NU a lui X. Este nevoie de toate tipurile de numere

Hive QL logic Operatori

Folosim operatori logici pentru a efectua operații logice pe operanzi

  • Operații logice precum AND, OR, NOT între operanzi le folosim Operators.
  • Toate tipurile de operanzi sunt de tip BOOLEAN în acestea Operatori

Următorul tabel ne va oferi detalii despre operatorii logici din HiveSQL:

Operatori Descriere OperaNDS
X ȘI Y ADEVĂRAT dacă atât X, cât și Y sunt ADEVĂRAT, în caz contrar, FALS. Numai tipurile booleene
X Y La fel ca X și Y, dar aici folosim simbolul && Numai tipurile booleene
X SAU Y TRUE dacă X sau Y sau ambele sunt TRUE, în caz contrar FALSE. Numai tipurile booleene
X || Y La fel ca X SAU Y, dar aici folosim || simbol Numai tipurile booleene
NU X TRUE dacă X este FALS, în caz contrar FALS. Numai tipurile booleene
!X La fel ca NOT X, dar aici folosim! simbol Numai tipurile booleene

Operators pe Tipuri complexe

Următorul tabel ne va oferi detalii despre tipul complex Operators . Aceștia sunt operatori care vor oferi un mecanism diferit de acces la elementele de tipuri complexe.

Operatori OperaNDS Descriere
Un] A este un Array și n este un tip întreg Va returna al n-lea element din tabloul A. Primul element are indicele 0
M[cheie] M este o hartă iar cheia are tipul K Va returna valorile care aparțin cheii din hartă

Constructori de tip complex

Următorul tabel ne va oferi detalii despre constructorii de tip complex. Acesta va construi instanțe pe tipuri de date complexe. Acestea sunt tipuri de date complexe, cum ar fi tipurile Array, Map și Struct în Stup.

În această secțiune, vom vedea operațiunile efectuate pe Constructorii de tip Complex.

Operatori OperaNDS Descriere
mulțime (val1, val2, …) Va crea o matrice cu elementele date, așa cum s-a menționat, cum ar fi val1, val2
Creați_ uniune (etichetă, val1, val2, …) Va crea un tip de uniune cu valorile menționate de parametrul etichetă
Hartă (key1, value1, key2, value2, …) Va crea o hartă cu perechile cheie/valoare date menționate în operanzi
Named_struct (nume1, val1, nume2, val2, …) Acesta va crea un Struct cu numele câmpurilor date și valorile menționate în operanzi
STRUCT (val1, val2, val3, …) Creează un Struct cu valorile câmpurilor date. Numele câmpurilor de structură vor fi col1, col2, .

Rezumat

  • Hive Query Language (HiveQL) este un limbaj de interogare în Apache Hive pentru procesarea și analiza datelor structurate.
  • Hive oferă operatori încorporați pentru operațiunile de date care urmează să fie implementate pe tabelele prezente în depozitul Hive.
  • Tipuri de încorporate Operatori în HiveQL sunt:
  • Relațional Operatori
  • Aritmetică Operatori
  • Logic Operatori
  • Operators pe tipuri complexe
  • Constructori de tip complex