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