Vad är Hive Query Language: HiveQL Operatorer

Vad är Hive Query Language (HiveQL)?

Hive Query Language (HiveQL) är ett frågespråk i Apache Hive för bearbetning och analys av strukturerad data. Det skiljer användare från komplexiteten i Map Reduce-programmering. Den återanvänder vanliga koncept från relationsdatabaser, såsom tabeller, rader, kolumner och scheman, för att underlätta inlärningen. Hive tillhandahåller en CLI för Hive-frågeskrivning med Hive Query Language (HiveQL).

De flesta interaktioner tenderar att ske över ett kommandoradsgränssnitt (CLI). I allmänhet liknar HiveQL-syntaxen SQL syntax som de flesta dataanalytiker är bekanta med. Hive stöder fyra filformat som är: TEXTFILE, SEQUENCEFILE, ORC och RCFILE (Record Columnar File).

Hive använder derbydatabas för lagring av metadata för en användare, och för metadata för flera användare eller delade metadatafall använder Hive MYSQL.

HiveQL inbyggd Operatorer

Hive tillhandahåller inbyggda operatörer för dataoperationer som ska implementeras på tabellerna som finns i Hive-lagret.

Dessa operatorer används för matematiska operationer på operander, och de kommer att returnera ett specifikt värde enligt logiken som tillämpas.

Nedan är huvudtyperna av inbyggd Operators i HiveQL:

  • Relations Operatorer
  • Aritmetik Operatorer
  • logisk Operatorer
  • Operators på komplexa typer
  • Komplexa konstruktörer

Relations Operators i Hive SQL

Vi använder relationsoperatorer för relationsjämförelser mellan två operander.

  • Operators som lika, inte lika, mindre än, större än … etc
  • Operandtyperna är alla nummertyper i dessa Operatorer.

Följande tabell ger oss detaljer om relationsoperatörer och dess användning i HiveQL:

Inbyggd Operator BESKRIVNING Operand
X = Y SANN

om uttryck X är ekvivalent med uttryck Y

Annars FALSK.

Det tar alla primitiva typer
X != Y SANN

om uttryck X inte är ekvivalent med uttryck Y

Annars FALSK.

Det tar alla primitiva typer
X < Y SANN

om uttryck X är mindre än uttryck Y

Annars FALSK.

Det tar alla primitiva typer
X <= Y SANN

om uttryck X är mindre än eller lika med uttryck Y

Annars FALSK.

Det tar alla primitiva typer
X>Y SANN

om uttryck X är större än uttryck Y

Annars FALSK.

Det tar alla primitiva typer
X>= Y SANN

om uttryck X är större än eller lika med uttryck Y

Annars FALSK.

Det tar alla primitiva typer
X ÄR NULL TRUE om uttryck X evalueras till NULL annars FALSE. Det tar alla typer
X ÄR INTE NULL FALSK

Om uttryck X evalueras till NULL annars TRUE.

Det tar alla typer
X GILLAR Y SANN

Om strängmönster X matchar Y annars FALSK.

Tar bara strängar
X RLIKAR Y NULL om X eller Y är NULL, TRUE om någon delsträng av X matchar Java reguljärt uttryck Y, annars FALSK. Tar bara strängar
X REGEXP Y Samma som RLIKE. Tar bara strängar

HiveQL Aritmetik Operatorer

Vi använder aritmetiska operatorer för att utföra aritmetiska operationer på operander

  • Aritmetiska operationer som addition, subtraktion, multiplikation och division mellan operander använder vi dessa Operatorer.
  • Operandtyperna är alla nummertyper i dessa Operatorer

Exempelexempel:

2 + 3 ger resultat 5.

I det här exemplet är '+' operatorn och 2 och 3 är operander. Returvärdet är 5

Följande tabell ger oss detaljer om aritmetiska operatorer i Hive Query Language:

Inbyggd Operator BESKRIVNING Operand
X+Y Det kommer att returnera utdata för att lägga till X- och Y-värden. Det tar alla nummertyper
X – Y Det kommer att returnera resultatet av att subtrahera Y från X-värdet. Det tar alla nummertyper
X * Y Det kommer att returnera resultatet av multiplicering av X- och Y-värden. Det tar alla nummertyper
X/Y Det kommer att returnera resultatet av att dividera Y från X. Det tar alla nummertyper
X % Y Det kommer att returnera resten som är resultatet av att dividera X med Y. Det tar alla nummertyper
X & Y Det kommer att returnera utmatningen av bitvis AND av X och Y. Det tar alla nummertyper
X | Y Det kommer att returnera utmatningen av bitvis OR av X och Y. Det tar alla nummertyper
X ^ Y Det kommer att returnera utmatningen av bitvis XOR av X och Y. Det tar alla nummertyper
~X Det kommer att returnera utdata från bitvis INTE av X. Det tar alla nummertyper

Hive QL Logical Operatorer

Vi använder logiska operatorer för att utföra logiska operationer på operander

  • Logiska operationer som AND, OR, NOT mellan operander vi använder dessa Operatorer.
  • Alla operandtyper är av BOOLEAN-typ i dessa Operatorer

Följande tabell ger oss detaljer om logiska operatorer i HiveSQL:

Operatorer BESKRIVNING Operands
X OCH Y SANT om både X och Y är SANT, annars FALSK. Endast booleska typer
X && Y Samma som X OCH Y men här använder vi symbolen && Endast booleska typer
X ELLER Y TRUE om antingen X eller Y eller båda är TRUE, annars FALSE. Endast booleska typer
X || Y Samma som X ELLER Y men här använder vi || symbol Endast booleska typer
INTE X TRUE om X är FALSE, annars FALSE. Endast booleska typer
!X Samma som INTE X men här använder vi! symbol Endast booleska typer

Operators på komplexa typer

Följande tabell ger oss detaljer om komplex typ Operators . Dessa är operatörer som kommer att tillhandahålla en annan mekanism för att komma åt element i komplexa typer.

Operatorer Operands BESKRIVNING
En] A är en Array och n är en heltalstyp Det kommer att returnera det n:te elementet i arrayen A. Det första elementet har indexet 0
M[nyckel] M är en karta och nyckel har typ K Det kommer att returnera värdena som tillhör nyckeln i kartan

Komplexa typkonstruktörer

Följande tabell ger oss detaljer om komplexa konstruktörer. Det kommer att konstruera instanser på komplexa datatyper. Dessa är av komplexa datatyper som Array-, Map- och Struct-typer i Bikupa.

I det här avsnittet kommer vi att se operationerna som utförs på komplexa konstruktörer.

Operatorer Operands BESKRIVNING
array (val1, val2, …) Det kommer att skapa en array med de givna elementen som nämnts som val1, val2
Skapa_ förbund (tagg, val1, val2, …) Det kommer att skapa en unionstyp med de värden som nämns av taggparametern
karta (nyckel1, värde1, nyckel2, värde2, …) Det kommer att skapa en karta med de givna nyckel-/värdeparen som nämns i operander
Named_struct (namn1, val1, namn2, val2, …) Det kommer att skapa en struktur med de givna fältnamnen och värdena som nämns i operander
STRUKT (val1, val2, val3, …) Skapar en struktur med de givna fältvärdena. Strukturfältnamn kommer att vara col1, col2, .

Sammanfattning

  • Hive Query Language (HiveQL) är ett frågespråk i Apache Hive för bearbetning och analys av strukturerad data.
  • Hive tillhandahåller inbyggda operatörer för dataoperationer som ska implementeras på tabellerna som finns i Hive-lagret.
  • Typer av inbyggd Operators i HiveQL är:
  • Relations Operatorer
  • Aritmetik Operatorer
  • logisk Operatorer
  • Operators på komplexa typer
  • Komplexa konstruktörer

Sammanfatta detta inlägg med: