Mi az a Hive lekérdezési nyelv: HiveQL Operatorzok

Mi az a Hive Query Language (HiveQL)?

Hive lekérdezési nyelv (HiveQL) egy lekérdezési nyelv az Apache Hive-ben strukturált adatok feldolgozására és elemzésére. Ez elválasztja a felhasználókat a Map Reduce programozás összetettségétől. A tanulás megkönnyítése érdekében újrafelhasználja a relációs adatbázisokból származó általános fogalmakat, például táblázatokat, sorokat, oszlopokat és sémákat. A Hive CLI-t biztosít a Hive-lekérdezések írásához a Hive Query Language (HiveQL) használatával.

A legtöbb interakció általában parancssori felületen (CLI) keresztül megy végbe. Általában a HiveQL szintaxisa hasonló a SQL szintaxis, amelyet a legtöbb adatelemző ismer. A Hive négy fájlformátumot támogat, amelyek a következők: TEXTFILE, SEQUENCEFILE, ORC és RCFILE (Record Columnar File).

A Hive a derby adatbázist használja az egyfelhasználós metaadatok tárolására, a többfelhasználós metaadatokhoz vagy a megosztott metaadat-esetekhez pedig a Hive MYSQL-t használ.

Beépített HiveQL Operatorzok

A Hive beépített operátorokat biztosít az adatműveletekhez, amelyeket a Hive raktárában lévő táblákon kell végrehajtani.

Ezeket az operátorokat az operandusokon végzett matematikai műveletekhez használják, és az alkalmazott logika szerint meghatározott értéket adnak vissza.

Az alábbiakban bemutatjuk a beépített fő típusokat Operatorok a HiveQL-ben:

  • Relációs Operatorzok
  • Számtan Operatorzok
  • logikus Operatorzok
  • Operatorok komplex típusokon
  • Komplex típusú konstruktorok

Relációs Operators Hive SQL-ben

Relációs operátorokat használunk két operandus közötti kapcsolatok összehasonlítására.

  • Operatorok, mint például egyenlő, nem egyenlő, kisebb, mint … stb
  • Az operandus típusok ezekben mind számtípusok Operators.

A következő táblázat a relációs operátorokról és a HiveQL-ben való használatáról nyújt részleteket:

Beépített Operator Description Operand
X = Y TRUE

ha X kifejezés ekvivalens Y kifejezéssel

Ellenkező esetben HAMIS.

Minden primitív típust igénybe vesz
X = Y TRUE

ha X kifejezés nem ekvivalens Y kifejezéssel

Ellenkező esetben HAMIS.

Minden primitív típust igénybe vesz
X < Y TRUE

ha X kifejezés kisebb, mint Y kifejezés

Ellenkező esetben HAMIS.

Minden primitív típust igénybe vesz
X <= Y TRUE

ha X kifejezés kisebb vagy egyenlő, mint Y kifejezés

Ellenkező esetben HAMIS.

Minden primitív típust igénybe vesz
X>Y TRUE

ha X kifejezés nagyobb, mint Y kifejezés

Ellenkező esetben HAMIS.

Minden primitív típust igénybe vesz
X>= Y TRUE

ha X kifejezés nagyobb vagy egyenlő, mint Y kifejezés

Ellenkező esetben HAMIS.

Minden primitív típust igénybe vesz
X NULL IGAZ, ha az X kifejezés értéke NULL, ellenkező esetben HAMIS. Minden típust igénybe vesz
X NEM NULL HAMIS

Ha az X kifejezés értéke NULL, ellenkező esetben IGAZ.

Minden típust igénybe vesz
X MINT Y TRUE

Ha az X karakterlánc-minta egyezik Y-val, egyébként FALSE.

Csak karakterláncokat vesz igénybe
X RLIKE Y NULL, ha X vagy Y NULL, IGAZ, ha X bármely részkarakterlánca megegyezik a Java reguláris kifejezés Y, egyébként FALSE. Csak karakterláncokat vesz igénybe
X REGEXP Y Ugyanaz, mint az RLIKE. Csak karakterláncokat vesz igénybe

HiveQL aritmetika Operatorzok

Aritmetikai operátorokat használunk az operandusok aritmetikai műveleteinek végrehajtására

  • Az operandusok közötti aritmetikai műveleteket, mint az összeadás, kivonás, szorzás és osztás, ezeket használjuk Operators.
  • Az operandus típusok ezekben mind számtípusok Operatorzok

Minta példa:

A 2 + 3 az 5-ös eredményt adja.

Ebben a példában a '+' az operátor, a 2 és 3 pedig az operandusok. A visszatérési érték 5

A következő táblázat a Hive Query Language aritmetikai operátorainak részleteit tartalmazza:

Beépített Operator Description Operand
X+Y Visszaadja az X és Y érték hozzáadásának kimenetét. Minden számtípust igényel
X-Y Visszaadja az X értékből Y kivonásának kimenetét. Minden számtípust igényel
X * Y Az X és Y értékek szorzatának kimenetét adja vissza. Minden számtípust igényel
X/Y Visszaadja az Y-t X-ből osztva. Minden számtípust igényel
X % Y Az X Y-val való elosztásából származó maradékot adja vissza. Minden számtípust igényel
X & Y Az X és Y bitenkénti ÉS kimenetét adja vissza. Minden számtípust igényel
X | Y Az X és Y bitenkénti VAGY kimenetét adja vissza. Minden számtípust igényel
X ^ Y Az X és Y bitenkénti XOR kimenetét adja vissza. Minden számtípust igényel
~X Az X bitenkénti NOT kimenetét adja vissza. Minden számtípust igényel

Hive QL Logical Operatorzok

Logikai operátorokat használunk az operandusok logikai műveleteinek végrehajtására

  • Az operandusok közötti logikai műveleteket, például ÉS, VAGY, NEM, ezeket használjuk Operators.
  • Ezekben az operandustípusok mind BOOLEAN típusúak Operatorzok

A következő táblázat a HiveSQL logikai operátorainak részleteit tartalmazza:

Operatorzok Description Operands
X ÉS Y IGAZ, ha X és Y is IGAZ, ellenkező esetben HAMIS. Csak logikai típusok
X && Y Ugyanaz, mint az X ÉS Y, de itt az && szimbólumot használjuk Csak logikai típusok
X VAGY Y IGAZ, ha X vagy Y, vagy mindkettő IGAZ, ellenkező esetben HAMIS. Csak logikai típusok
X || Y Ugyanaz, mint az X VAGY Y, de itt a ||-t használjuk szimbólum Csak logikai típusok
NEM X IGAZ, ha X HAMIS, ellenkező esetben HAMIS. Csak logikai típusok
!X Ugyanaz, mint a NOT X, de itt használjuk! szimbólum Csak logikai típusok

Operaösszetett típusokon

Az alábbi táblázat a komplex típussal kapcsolatos részleteket tartalmazza Operators . Ezek olyan operátorok, amelyek más mechanizmust biztosítanak az összetett típusú elemek eléréséhez.

Operatorzok Operands Description
A[n] Az A egy tömb, az n pedig egy egész típus Az A tömb n-edik elemét adja vissza. Az első elem indexe 0
M[kulcs] M egy térkép és a kulcs K típusú A kulcshoz tartozó értékeket adja vissza a térképen

Komplex típusú konstruktorok

A következő táblázat a komplex típusú konstruktorok részleteit tartalmazza. Példányokat fog létrehozni összetett adattípusokon. Ezek összetett adattípusok, például tömb, térkép és struktúra típusúak Kaptár.

Ebben a részben a komplex típusú konstruktorokon végrehajtott műveleteket fogjuk látni.

Operatorzok Operands Description
sor (érték1, érték2, …) Létrehoz egy tömböt a megadott elemekkel, amint azt már említettük, például: val1, val2
Szakszervezet létrehozása (címke, érték1, érték2, …) Létrehoz egy uniótípust a címkeparaméter által említett értékekkel
térkép (kulcs1, érték1, kulcs2, érték2, …) Ez létrehoz egy térképet az operandusokban említett kulcs/érték párokkal
Named_struct (név1, érték1, név2, érték2, …) Létrehoz egy Struktúrát a megadott mezőnevekkel és operandusokban említett értékekkel
STRUCT (érték1, érték2, érték3, …) Struktúrát hoz létre a megadott mezőértékekkel. A struktúramezők neve col1, col2, .

Összegzésként

  • A Hive Query Language (HiveQL) egy lekérdezési nyelv Apache Kaptár a strukturált adatok feldolgozásához és elemzéséhez.
  • A Hive beépített operátorokat biztosít az adatműveletekhez, amelyeket a Hive raktárában lévő táblákon kell végrehajtani.
  • Beépített típusok OperaA HiveQL-ben a következők:
  • Relációs Operatorzok
  • Számtan Operatorzok
  • logikus Operatorzok
  • Operatorok komplex típusokon
  • Komplex típusú konstruktorok