Výukový program HiveQL (Hive Query Language): Integrovaní operátori

Obsah:

Anonim

Čo je HiveQL (Hive Query Language)?

Hive poskytuje CLI na písanie dotazov Hive pomocou jazyka Hive Query Language (HiveQL). Všeobecne je syntax HQL podobná syntaxe SQL, ktorú pozná väčšina analytikov údajov.

Jazyk inšpirovaný Hive SQL oddeľuje používateľa od zložitosti programovania Map Reduce. Na uľahčenie učenia opakovane používa známe koncepty zo sveta relačných databáz, ako sú tabuľky, riadky, stĺpce a schéma.

Väčšina interakcií sa zvyčajne odohráva cez rozhranie príkazového riadku (CLI). Hive poskytuje CLI na písanie dotazov Hive pomocou jazyka Hive Query Language (Hive-QL).

Syntax HiveQL je vo všeobecnosti podobná syntaxe SQL, ktorú pozná väčšina analytikov údajov. Úľ podporuje štyri formáty súborov, a to TEXTFILE, SEQUENCEFILE, ORC a RCFILE (Record Columnar File).

  • Pre úložisko metadát jedného používateľa používa Hive databázu derby a
  • V prípade metadát viacerých používateľov alebo zdieľaných metadát používa úľ MYSQL

Zabudované operátory

Hive poskytuje vstavané operátory pre dátové operácie, ktoré sa majú implementovať do tabuliek nachádzajúcich sa v sklade Hive.

Tieto operátory sa používajú na matematické operácie s operandmi a vrátia konkrétnu hodnotu podľa použitej logiky.

Typy zabudovaných operátorov v HIVE sú:

  • Relační operátori
  • Aritmetické operátory
  • Logickí operátori
  • Prevádzkovatelia komplexných typov
  • Konštruktory komplexného typu

Relační operátori:

Relačné operátory používame na porovnávanie vzťahov medzi dvoma operandmi.

  • Operátory ako rovný, nerovný, menší ako, väčší ako ... atď
  • Typy operandov sú všetky typy čísel v týchto operátoroch.

V nasledujúcej tabuľke sú uvedené podrobnosti o relačných operátoroch a ich použití.

Zabudovaný operátor Popis Operand
X = Y TRUE, ak výraz X zodpovedá výrazu Y, inak FALSE. Trvá to všetko primitívne typy
X! = Y TRUE, ak výraz X nie je ekvivalentný výrazu Y, inak FALSE. Trvá to všetko primitívne typy
X TRUE, ak je výraz X menší ako výraz Y, inak FALSE. Trvá to všetko primitívne typy
X <= Y TRUE, ak je výraz X menší alebo rovný výrazu Y, inak FALSE. Trvá to všetko primitívne typy
X> Y TRUE, ak je výraz X väčší ako výraz Y, inak FALSE. Trvá to všetko primitívne typy
X> = Y TRUE, ak je výraz X väčší alebo rovnaký ako výraz Y, inak FALSE. Trvá to všetko primitívne typy
X JE NULL TRUE, ak sa výraz X vyhodnotí ako NULL, inak FALSE. Trvá to všetkých druhov
X NIE JE NULL FALSE Ak je výraz X vyhodnotený ako NULL, inak TRUE. Trvá to všetkých druhov
X AKO Y TRUE Ak sa vzor reťazca X zhoduje s Y, inak je FALSE. Berie iba struny
X PODOBNE Y NULL, ak X alebo Y je NULL, TRUE, ak sa niektorý podreťazec X zhoduje s regulárnym výrazom Y v jazyku Java, inak FALSE. Berie iba struny
X REGEXP Y Rovnaké ako RLIKE. Berie iba struny

Aritmetické operátory :

Na vykonávanie aritmetických operácií s operandmi používame aritmetické operátory

  • Aritmetické operácie ako sčítanie, odčítanie, násobenie a delenie medzi operandmi používame tieto operátory.
  • Všetky typy operandov sú typmi čísel v týchto operátoroch

Ukážkový príklad:

2 + 3 dáva výsledok 5.

V tomto príklade je „+“ operátor a 2 a 3 sú operandy. Návratová hodnota je 5

V nasledujúcej tabuľke sú uvedené podrobnosti o aritmetických operátoroch

Zabudovaný operátor Popis Operand
X + Y Vráti výstup sčítania hodnoty X a Y. Zaberá všetky typy čísel
X - Y Vráti výstup odpočítania Y od hodnoty X. Zaberá všetky typy čísel
X * Y Vráti výstup vynásobenia hodnôt X a Y. Zaberá všetky typy čísel
X / Y Vráti výstup z delenia Y od X. Zaberá všetky typy čísel
X% Y Vráti zvyšok, ktorý vznikne vydelením X a Y. Zaberá všetky typy čísel
X a Y Vráti výstup bitového AND z X a Y. Zaberá všetky typy čísel
X | Y Vráti výstup bitového ALEBO z X a Y. Zaberá všetky typy čísel
X Y Vráti výstup bitového XOR z X a Y. Zaberá všetky typy čísel
~ X Vráti výstup bitového NOT z X. Zaberá všetky typy čísel

Logickí operátori:

Na vykonávanie logických operácií na operandoch používame logické operátory

  • Logické operácie ako AND, OR, NOT medzi operandmi používame týchto operátorov.
  • Všetky typy operandov sú v týchto operátoroch typu BOOLEAN

V nasledujúcej tabuľke sú uvedené podrobnosti o logických operátoroch

Operátorov Popis Operandy
X A Y TRUE, ak sú X aj Y TRUE, inak FALSE. Iba booleovské typy
X && Y Rovnaké ako X AND Y, ale tu používame symbol && Iba booleovské typy
X ALEBO Y. TRUE, ak je X alebo Y alebo obidve TRUE, inak FALSE. Iba booleovské typy
X || Y Rovnaké ako X ALEBO, ale tu používame || symbol Iba booleovské typy
NIE X TRUE, ak X je FALSE, inak FALSE. Iba booleovské typy
!X Rovnaké ako NOT X, ale tu používame! symbol Iba booleovské typy

Prevádzkovatelia komplexných typov:

V nasledujúcej tabuľke sú uvedené podrobnosti o operátoroch komplexného typu. Jedná sa o operátory, ktoré poskytnú iný mechanizmus na prístup k prvkom v zložitých typoch.

Operátorov Operandy Popis
A [n] A je pole a n je celočíselný typ Vráti n-tý prvok v poli A. Prvý prvok má index 0
M [kľúč] M je mapa a kľúč má typ K Vráti hodnoty patriace ku kľúču na mape

Konštruktory komplexného typu:

V nasledujúcej tabuľke sú uvedené podrobnosti o konštruktoroch komplexného typu. Bude konštruovať inštancie na komplexných údajových typoch. Jedná sa o zložité dátové typy, ako sú typy polí, mapy a štruktúry v úli.

V tejto časti sa pozrieme na operácie vykonávané na komplexných typoch konštruktorov.

Operátorov Operandy Popis
pole (val1, val2, ...) Vytvorí pole s danými prvkami, ako sú uvedené ako val1, val2
Create_ union (značka, val1, val2, ...) Vytvorí typ spojenia s hodnotami, na ktoré odkazuje parameter značky
mapa (kľúč1, hodnota1, kľúč2, hodnota2, ...) Vytvorí mapu s danými pármi kľúč / hodnota uvedenými v operandoch
Named_struct (name1, val1, name2, val2, ...) Vytvorí štruktúru s danými názvami polí a hodnotami uvedenými v operandoch
ŠTRUKTÚRA (val1, val2, val3, ...) Vytvorí štruktúru s danými hodnotami poľa. Názvy polí štruktúry budú col1, col2,.

Zhrnutie:

Hive poskytuje niektoré vstavané funkcie a operátory na manipuláciu s údajmi uloženými v sklade Hive. Úľ je podobný jazyku SQL, ktorý podporuje všetky typy dátových operácií a dopytovania v tabuľkách a databázach.