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 Beskrivelse 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 sรฅsom addition, subtraktiontraction, 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 Beskrivelse Operand
X+Y Det vil returnere output af tilfรธjelse af X- og Y-vรฆrdi. Det tager alle taltyper
X-Y Den vil returnere outputtet fra subtracat skille Y-vรฆrdien 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 Beskrivelse 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 Beskrivelse
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 Beskrivelse
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

Opsummer dette indlรฆg med: