HiveQL (Hive Query Language) oktatóanyag: Beépített operátorok

Tartalomjegyzék:

Anonim

Mi az a HiveQL (Hive Query Language)?

A Hive CLI-t biztosít a Hive-lekérdezések Hive Query Language (HiveQL) használatával. A HQL szintaxis általában hasonló az SQL szintaxishoz, amelyet a legtöbb adatelemző ismer.

A Hive SQL által inspirált nyelve elválasztja a felhasználót a Map Reduce programozás bonyolultságától. A tanulás megkönnyítése érdekében újra felhasználja a relációs adatbázis-világból ismert fogalmakat, például a táblázatokat, a sorokat, az oszlopokat és a sémákat.

A legtöbb interakció általában egy parancssori felületen (CLI) keresztül zajlik. A Hive CLI-t biztosít a Hive-lekérdezések Hive Query Language (Hive-QL) használatával történő megírásához.

Általában a HiveQL szintaxisa hasonlít az SQL-szintaxishoz, amelyet a legtöbb adatelemző ismer. A Hive négy fájlformátumot támogat: TEXTFILE, SEQUENCEFILE, ORC és RCFILE (Oszlopfájl rögzítése).

  • Egyfelhasználós metaadatok tárolásához a Hive derby adatbázist és
  • Több felhasználói metaadatok vagy megosztott metaadatok esetén a Hive MYSQL-t használ

Beépített operátorok

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

Ezeket az operátorokat matematikai műveletekre használják operandusokon, és az adott logikának megfelelő specifikus értéket ad vissza.

A HIVE beépített operátorai a következők:

  • Relációs operátorok
  • Számtani operátorok
  • Logikai operátorok
  • Operátorok komplex típusokon
  • Komplex típusú kivitelezők

Kapcsolati operátorok:

Relációs operátorokat használunk két operandus viszonyának összehasonlításához.

  • Olyan operátorok, mint egyenlő, Nem egyenlő, kevesebb, nagyobb, mint… stb
  • Az operandus típusok mindegyik számtípusok ezekben az operátorokban.

Az alábbi táblázat részleteket ad a relációs operátorokról és azok használatáról.

Beépített kezelő Leírás Operand
X = Y IGAZ, ha az X kifejezés egyenértékű az Y kifejezéssel, különben HAMIS. Minden primitív típusra szükség van
X! = Y IGAZ, ha az X kifejezés nem egyenértékű az Y kifejezéssel, különben HAMIS. Minden primitív típusra szükség van
X IGAZ, ha az X kifejezés kisebb, mint az Y kifejezés, különben HAMIS. Minden primitív típusra szükség van
X <= Y IGAZ, ha az X kifejezés kisebb vagy egyenlő az Y kifejezéssel, különben HAMIS. Minden primitív típusra szükség van
X> Y IGAZ, ha az X kifejezés nagyobb, mint az Y kifejezés, különben HAMIS. Minden primitív típusra szükség van
X> = Y IGAZ, ha az X kifejezés nagyobb vagy egyenlő az Y kifejezéssel, különben HAMIS. Minden primitív típusra szükség van
X NULL IGAZ, ha az X kifejezés NULL értékűnek minősül, egyébként HAMIS. Minden típusra szükség van
X NEM NULL HAMIS Ha az X kifejezés NULL értékűnek számít, egyébként IGAZ. Minden típusra szükség van
X LIKE Y IGAZ, ha az X karakterlánc mintája megegyezik az Y jellel, egyébként HAMIS. Csak húrokat vesz fel
X SZERETETLEN Y NULL, ha X vagy Y NULL, IGAZ, ha az X bármelyik szubstringje megegyezik az Y Java reguláris kifejezéssel, különben FALSE. Csak húrokat vesz fel
X REGEXP Y Ugyanaz, mint a RLIKE. Csak húrokat vesz fel

Számtani operátorok :

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

  • Számtani műveletek, például összeadás, kivonás, szorzás és osztás operandusok között, ezeket az operátorokat használjuk.
  • Az operandus típusok mindegyike számtípus ezekben az operátorokban

Minta példa:

2 + 3 az 5. eredményt adja.

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

A következő táblázat részleteket ad számtani operátorokról

Beépített kezelő Leírás Operand
X + Y Visszaadja az X és Y érték összeadásának kimenetét. Minden számtípusra szükség van
X - Y Visszaadja Y kimenetét X értékből. Minden számtípusra szükség van
X * Y Visszaadja az X és Y értékek szorzását. Minden számtípusra szükség van
X / Y Visszaadja az Y osztásának kimenetét X-ből. Minden számtípusra szükség van
X% Y Visszaadja az X Y-vel való osztásával kapott maradékot. Minden számtípusra szükség van
X & Y Visszaadja az X és Y bitenkénti AND kimenetét. Minden számtípusra szükség van
X | Y Visszaadja X és Y bitenkénti OR kimenetét. Minden számtípusra szükség van
X Y Visszaadja X és Y bitenkénti XOR kimenetét. Minden számtípusra szükség van
~ X Visszaadja az X bitenkénti NOT kimenetét. Minden számtípusra szükség van

Logikai operátorok:

Logikai operátorokat használunk logikai műveletek végrehajtására operandusokon

  • Logikai műveletek, például AND, OR, NOT operandusok között, ezeket az operátorokat használjuk.
  • Az operandusok mindegyike BOOLEAN típusú ezekben az operátorokban

Az alábbi táblázat részleteket ad a logikai operátorokról

Operátorok Leírás Operandusok
X ÉS Y IGAZ, ha mind X, mind Y igaz, különben HAMIS. Csak logikai típusok
X && Y Ugyanaz, mint X és Y, de itt a && szimbólumot használjuk Csak logikai típusok
X VAGY Y IGAZ, ha X vagy Y, vagy mindkettő IGAZ, egyébként HAMIS. Csak logikai típusok
X || Y Ugyanaz, mint X vagy Y, de itt a || -et használjuk szimbólum Csak logikai típusok
NEM X IGAZ, ha X HAMIS, egyébként HAMIS. Csak logikai típusok
!X Ugyanaz, mint NEM X, de itt használjuk! szimbólum Csak logikai típusok

Komplex típusok üzemeltetői:

Az alábbi táblázat részleteket ad a komplex típusú operátorokról. Ezek olyan operátorok, amelyek más mechanizmust fognak biztosítani az összetett típusú elemek eléréséhez.

Operátorok Operandusok Leírás
A [n] A tömb, n pedig egész típusú Visszaadja az n tömböt az A tömbben. Az első elem indexe 0
M [gomb] M egy térkép , és a kulcs típusa K Visszaadja a térkép kulcsához tartozó értékeket

Komplex típusú kivitelezők:

Az alábbi táblázat részleteket ad a komplex típusú kivitelezőkről. Bonyolult adattípusokra épít fel példányokat. Ezek összetett adattípusok, például tömb, térkép és struktúra típusok a kaptárban.

Ebben a részben megnézzük a komplex típusú kivitelezőkön végrehajtott műveleteket.

Operátorok Operandusok Leírás
sor (val1, val2,…) Létrehoz egy tömböt a megadott elemekkel, például a val1, val2
Create_ unió (tag, val1, val2,…) Létrehoz egy uniótípust a címke paraméter által említett értékekkel
térkép (kulcs1, érték1, kulcs2, érték2,…) Létrehoz egy térképet a megadott kulcs / érték párokkal, amelyeket operandusokban említenek
Named_struct (név1, val1, név2, val2,…) Létrehoz egy Struktúrát a megadott mezőnevekkel és operandusokban említett értékekkel
SZERKEZET (val1, val2, val3,…) Létrehoz egy Struktúrát a megadott mezőértékekkel. A struktúramezők neve col1, col2,.

Összegzés:

A Hive néhány beépített funkciót és operátort biztosít a Hive raktárában tárolt adatok kezelésére. A Hive hasonló az SQL nyelvhez, amely minden típusú adatműveletet és táblákon és adatbázisokban történő lekérdezést támogat.