HiveQL (Hive Query Language) Opplæring: Innebygde operatører

Innholdsfortegnelse:

Anonim

Hva er HiveQL (Hive Query Language)?

Hive gir en CLI for å skrive Hive-spørsmål ved hjelp av Hive Query Language (HiveQL). Generelt ligner HQL-syntaksen den SQL-syntaksen som de fleste dataanalytikere er kjent med.

Hives SQL-inspirerte språk skiller brukeren fra kompleksiteten i Map Reduce programmering. Det gjenbruker kjente konsepter fra den relasjonelle databaseverdenen, for eksempel tabeller, rader, kolonner og skjema, for å lette læringen.

De fleste interaksjoner har en tendens til å finne sted over et kommandolinjegrensesnitt (CLI). Hive gir en CLI for å skrive Hive-spørsmål ved hjelp av Hive Query Language (Hive-QL).

Generelt ligner HiveQL-syntaksen SQL-syntaksen som de fleste dataanalytikere er kjent med. Hive støtter fire filformater, de er TEXTFILE, SEQUENCEFILE, ORC og RCFILE (Record Columnar File).

  • For enbruker metadata lagring bruker Hive derby database og
  • For metadata for flere brukere eller delt Metadata-sak bruker Hive MYSQL

Innebygde operatører

Hive tilbyr innebygde operatører for datadrift som skal implementeres på tabellene i Hive-lageret.

Disse operatørene brukes til matematiske operasjoner på operander, og den vil gi spesifikk verdi i henhold til den logikken som er brukt.

Typer innebygde operatører i HIVE er:

  • Relasjonsoperatører
  • Aritmetiske operatører
  • Logiske operatører
  • Operatører på komplekse typer
  • Komplekse konstruksjoner

Relasjonsoperatører:

Vi bruker Relasjonsoperatører for forholdssammenligning mellom to operander.

  • Operatører som lik, Ikke lik, mindre enn, større enn ... osv
  • Operand-typene er alle nummertyper i disse operatørene.

Tabellen nedenfor gir oss detaljer om relasjonsoperatører og bruken av den.

Innebygd operatør Beskrivelse Operand
X = Y SANT hvis uttrykk X tilsvarer uttrykk Y Ellers FALSE. Det tar alle primitive typer
X! = Y SANT hvis uttrykk X ikke tilsvarer uttrykk Y Ellers FALSE. Det tar alle primitive typer
X SANT hvis uttrykk X er mindre enn uttrykk Y Ellers FALSE. Det tar alle primitive typer
X <= Y SANT hvis uttrykk X er mindre enn eller lik uttrykk Y Ellers FALSE. Det tar alle primitive typer
X> Y SANT hvis uttrykk X er større enn uttrykk Y Ellers FALSE. Det tar alle primitive typer
X> = Y SANT hvis uttrykk X er større enn eller lik uttrykk Y Ellers FALSE. Det tar alle primitive typer
X ER NULL SANT hvis uttrykk X evalueres til NULL ellers FALSE. Det tar alle typer
X ER IKKE NULL FALSE Hvis uttrykk X evalueres til NULL ellers SANT. Det tar alle typer
X SOM Y SANT Hvis strengmønster X samsvarer med Y ellers FALSE. Tar bare strenger
X RLIKE Y NULL hvis X eller Y er NULL, SANT hvis noen understreng av X samsvarer med Java-regulære uttrykk Y, ellers FALSE. Tar bare strenger
X REGEXP Y Samme som RLIKE. Tar bare strenger

Aritmetiske operatører :

Vi bruker aritmetiske operatorer for å utføre aritmetiske operasjoner på operander

  • Aritmetiske operasjoner som addisjon, subtraksjon, multiplikasjon og deling mellom operander bruker vi disse operatørene.
  • Operand-typene alle er nummertyper i disse operatørene

Eksempeleksempel:

2 + 3 gir resultat 5.

I dette eksemplet er '+' operatøren og 2 og 3 er operander. Returverdien er 5

Følgende tabell gir oss detaljer om aritmetiske operatører

Innebygd operatør Beskrivelse Operand
X + Y Det vil returnere resultatet av å legge til X- og Y-verdien. Det tar alle nummertyper
X - Y Det vil returnere resultatet av å trekke Y fra X-verdien. Det tar alle nummertyper
X * Y Det vil returnere resultatet av multipliserende X- og Y-verdier. Det tar alle nummertyper
X / Y Det vil returnere resultatet av å dele Y fra X. Det tar alle nummertyper
X% Y Den vil returnere resten som følge av å dele X med Y. Det tar alle nummertyper
X & Y Det vil returnere utdataene fra bitvis AND av X og Y. Det tar alle nummertyper
X | Y Det vil returnere utdataene fra bitvis ELLER av X og Y. Det tar alle nummertyper
X Y Det vil returnere utdataene fra bitvis XOR av X og Y. Det tar alle nummertyper
~ X Det vil returnere utdataene fra bitvis IKKE av X. Det tar alle nummertyper

Logiske operatører:

Vi bruker logiske operatører for å utføre logiske operasjoner på operander

  • Logiske operasjoner som OG, ELLER, IKKE mellom operander bruker vi disse operatørene.
  • Alle operand-typene er av BOOLEAN-type i disse operatørene

Tabellen nedenfor gir oss detaljer om logiske operatører

Operatører Beskrivelse Operander
X OG Y SANT hvis både X og Y er SANNE, ellers FALSE. Bare boolske typer
X && Y Samme som X OG Y, men her bruker vi && symbol Bare boolske typer
X ELLER Y SANT hvis enten X eller Y eller begge er SANNE, ellers FALSE. Bare boolske typer
X || Y Samme som X ELLER Y, men her bruker vi || symbol Bare boolske typer
IKKE X SANT hvis X er FALSE, ellers FALSE. Bare boolske typer
! X Samme som IKKE X, men her bruker vi! symbol Bare boolske typer

Operatører på komplekse typer:

Følgende tabell vil gi oss detaljer om Complex Type Operators. Dette er operatører som vil gi en annen mekanisme for å få tilgang til elementer i komplekse typer.

Operatører Operander Beskrivelse
A [n] A er en matrise og n er en heltallstype Det vil returnere det nte elementet i matrisen A. Det første elementet har indeks på 0
M [nøkkel] M er et kart og nøkkelen har typen K Det vil returnere verdiene tilhører nøkkelen i kartet

Komplekse konstruksjoner:

Tabellen nedenfor gir oss detaljer om konstruksjoner av kompleks type. Den vil konstruere forekomster på komplekse datatyper. Disse er av komplekse datatyper som Array, Map og Struct-typer i Hive.

I denne delen skal vi se operasjonene utført på konstruksjoner av kompleks type.

Operatører Operander Beskrivelse
array (val1, val2,…) Det vil opprette en matrise med de gitte elementene som nevnt som val1, val2
Create_ union (tag, val1, val2,…) Det vil opprette en foreningstype med verdiene som nevnes av tag-parameteren
kart (nøkkel1, verdi1, nøkkel2, verdi2, ...) Det vil opprette et kart med de gitte nøkkel / verdiparene som er nevnt i operander
Navngitt_struktur (name1, val1, name2, val2,…) Det vil opprette en struktur med de angitte feltnavnene og verdiene nevnt i operander
STRUKT (val1, val2, val3,…) Oppretter en struktur med de angitte feltverdiene. Strukturfeltnavn vil være col1, col2,.

Sammendrag:

Hive tilbyr noen innebygde funksjoner og operatører for å manipulere dataene som er lagret i Hive-lageret. Hive ligner på SQL-språk, som støtter alle typer dataoperasjoner og spørring på tabeller og databaser.