Hvad er Hive Query Language: HiveQL Operatorer

Hvad er Hive Query Language (HiveQL)?

Hive-forespørgselssprog (HiveQL) er et forespørgselssprog i Apache Hive til behandling og analyse af strukturerede data. Det adskiller brugere fra kompleksiteten af ​​Map Reduce-programmering. Den genbruger almindelige koncepter fra relationelle databaser, såsom tabeller, rækker, kolonner og skemaer, for at lette indlæringen. Hive leverer en CLI til at skrive Hive-forespørgsler ved hjælp af Hive Query Language (HiveQL).

De fleste interaktioner har en tendens til at finde sted over en kommandolinjegrænseflade (CLI). Generelt ligner HiveQL-syntaksen SQL syntaks, som de fleste dataanalytikere er bekendt med. Hive understøtter fire filformater, som er: TEXTFILE, SEQUENCEFILE, ORC og RCFILE (Record Columnar File).

Hive bruger derby-database til lagring af metadata for enkeltbrugere, og til metadata for flere brugere eller delt metadata-tilfælde bruger Hive MYSQL.

HiveQL indbygget Operatorer

Hive leverer indbyggede operatører til dataoperationer, der skal implementeres på tabellerne i Hive-lageret.

Disse operatorer bruges til matematiske operationer på operander, og det vil returnere specifik værdi i henhold til den anvendte logik.

Nedenfor er de vigtigste typer indbygget Operators i HiveQL:

  • Relationel Operatorer
  • Aritmetik Operatorer
  • Logisk Operatorer
  • Operators på komplekse typer
  • Komplekse konstruktører

Relationel Operators i Hive SQL

Vi bruger Relationelle operatorer til relationssammenligninger mellem to operander.

  • Operators såsom lig, ikke lig, mindre end, større end … osv
  • Operandtyperne er alle taltyper i disse Operatorer.

Følgende tabel vil give os detaljer om relationelle operatører og deres brug i HiveQL:

Indbygget OperaTor Description Operand
X = Y TRUE

hvis udtryk X er ækvivalent med udtryk Y

Ellers FALSK.

Det tager alle primitive typer
X != Y TRUE

hvis udtryk X ikke er ækvivalent med udtryk Y

Ellers FALSK.

Det tager alle primitive typer
X<Y TRUE

hvis udtryk X er mindre end udtryk Y

Ellers FALSK.

Det tager alle primitive typer
X <= Y TRUE

hvis udtryk X er mindre end eller lig med udtryk Y

Ellers FALSK.

Det tager alle primitive typer
X>Y TRUE

hvis udtryk X er større end udtryk Y

Ellers FALSK.

Det tager alle primitive typer
X>= Y TRUE

hvis udtryk X er større end eller lig med udtryk Y

Ellers FALSK.

Det tager alle primitive typer
X ER NULL TRUE hvis udtryk X evalueres til NULL ellers FALSK. Det tager alle typer
X ER IKKE NULL FALSK

Hvis udtryk X evalueres til NULL ellers SAND.

Det tager alle typer
X LIKE Y TRUE

Hvis strengmønster X matcher Y ellers FALSK.

Tager kun Strings
X RLIKE Y NULL hvis X eller Y er NULL, TRUE hvis en understreng af X matcher Java regulært udtryk Y, ellers FALSK. Tager kun Strings
X REGEXP Y Samme som RLIKE. Tager kun Strings

HiveQL Aritmetik Operatorer

Vi bruger aritmetiske operatorer til at udføre aritmetiske operationer på operander

  • Aritmetiske operationer som addition, subtraktion, multiplikation og division mellem operander bruger vi disse Operatorer.
  • Operandtyperne er alle taltyper i disse Operatorer

Eksempeleksempel:

2 + 3 giver resultat 5.

I dette eksempel er '+' operatøren, og 2 og 3 er operander. Returværdien er 5

Følgende tabel vil give os detaljer om aritmetiske operatorer i Hive Query Language:

Indbygget OperaTor Description Operand
X+Y Det vil returnere output af tilføjelse af X- og Y-værdi. Det tager alle taltyper
X-Y Det vil returnere output ved at trække Y fra X-værdien. Det tager alle taltyper
X * Y Det vil returnere output af multiplikation af X- og Y-værdier. Det tager alle taltyper
X/Y Det vil returnere outputtet ved at dividere Y fra X. Det tager alle taltyper
X % Y Det vil returnere resten, der er resultatet af at dividere X med Y. Det tager alle taltyper
X & Y Det vil returnere output af bitvis AND af X og Y. Det tager alle taltyper
X | Y Det vil returnere output af bitvis OR af X og Y. Det tager alle taltyper
X ^ Y Det vil returnere output af bitvis XOR af X og Y. Det tager alle taltyper
~X Det vil returnere output af bitvis IKKE af X. Det tager alle taltyper

Hive QL Logisk Operatorer

Vi bruger logiske operatorer til at udføre logiske operationer på operander

  • Logiske operationer såsom AND, OR, NOT mellem operander, vi bruger disse Operatorer.
  • Operandtyperne er alle af BOOLEAN type i disse Operatorer

Følgende tabel vil give os detaljer om logiske operatorer i HiveSQL:

Operatorer Description Operands
X OG Y SAND, hvis både X og Y er SAND, ellers FALSK. Kun booleske typer
X && Y Samme som X OG Y, men her bruger vi && symbol Kun booleske typer
X ELLER Y SAND, hvis enten X eller Y eller begge er SAND, ellers FALSK. Kun booleske typer
X || Y Samme som X ELLER Y, men her bruger vi || symbol Kun booleske typer
IKKE X SAND hvis X er FALSK, ellers FALSK. Kun booleske typer
!X Samme som IKKE X, men her bruger vi! symbol Kun booleske typer

Operators på komplekse typer

Følgende tabel vil give os detaljer om kompleks type Operators. Disse er operatører, som vil give en anden mekanisme til at få adgang til elementer i komplekse typer.

Operatorer Operands Description
A[n] A er en Array og n er en heltalstype Det vil returnere n'te element i array A. Det første element har indekset 0
M[nøgle] M er et kort og nøglen har type K Det vil returnere værdierne hører til nøglen på kortet

Komplekse type konstruktører

Følgende tabel vil give os detaljer om komplekse type konstruktører. Det vil konstruere instanser på komplekse datatyper. Disse er af komplekse datatyper såsom Array, Map og Struct typer i Hive.

I dette afsnit skal vi se operationerne udført på komplekse type konstruktører.

Operatorer Operands Description
matrix (val1, val2, …) Det vil skabe et array med de givne elementer som nævnt som val1, val2
Opret_ forening (tag, val1, val2, …) Det vil oprette en unionstype med de værdier, som tag-parameteren nævner
kort (nøgle1, værdi1, nøgle2, værdi2, …) Det vil skabe et kort med de givne nøgle/værdi-par nævnt i operander
Navngivet_struct (navn1, val1, navn2, val2, …) Det vil oprette en struktur med de givne feltnavne og værdier nævnt i operander
STRUKT (val1, val2, val3, …) Opretter en struktur med de givne feltværdier. Strukturfeltnavne vil være col1, col2, .

Resumé

  • Hive Query Language (HiveQL) er et forespørgselssprog i Apache Hive til behandling og analyse af strukturerede data.
  • Hive leverer indbyggede operatører til dataoperationer, der skal implementeres på tabellerne i Hive-lageret.
  • Typer af indbygget Operators i HiveQL er:
  • Relationel Operatorer
  • Aritmetik Operatorer
  • Logisk Operatorer
  • Operators på komplekse typer
  • Komplekse konstruktører