HiveQL (Hive Query Language) Tutorial: Indbyggede operatører

Indholdsfortegnelse:

Anonim

Hvad er HiveQL (Hive Query Language)?

Hive giver en CLI til at skrive Hive-forespørgsler ved hjælp af Hive Query Language (HiveQL). Generelt ligner HQL-syntaks den SQL-syntaks, som de fleste dataanalytikere kender.

Hives SQL-inspirerede sprog adskiller brugeren fra kompleksiteten ved Map Reduce programmering. Det genbruger velkendte begreber fra den relationelle databaseverden, såsom tabeller, rækker, kolonner og skema, for at lette indlæringen.

De fleste interaktioner har tendens til at finde sted over en kommandolinjegrænseflade (CLI). Hive giver en CLI til at skrive Hive-forespørgsler ved hjælp af Hive Query Language (Hive-QL).

Generelt ligner HiveQL-syntaksen den SQL-syntaks, som de fleste dataanalytikere kender til. Hive understøtter fire filformater, de er TEXTFILE, SEQUENCEFILE, ORC og RCFILE (Record Columnar File).

  • For enkeltbruger metadatalagring bruger Hive derby-database og
  • Til metadata til flere brugere eller delt Metadata-sag bruger Hive MYSQL

Indbyggede operatører

Hive leverer indbyggede operatører til, at datafunktioner kan implementeres på de tabeller, der findes i Hive-lageret.

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

Typer af indbyggede operatører i HIVE er:

  • Relationelle operatører
  • Aritmetiske operatører
  • Logiske operatører
  • Operatører på komplekse typer
  • Konstruktioner af kompleks type

Relationelle operatører:

Vi bruger relationelle operatører til sammenligning af forhold mellem to operander.

  • Operatører som lig med, ikke lig med, mindre end, større end… osv
  • Operandtyperne er alle nummertyper i disse operatører.

Følgende tabel giver os detaljer om relationelle operatører og dens anvendelse.

Indbygget operatør Beskrivelse Operand
X = Y SAND, hvis udtryk X svarer til udtryk Y Ellers FALSK. Det tager alle primitive typer
X! = Y SAND, hvis udtryk X ikke svarer til udtryk Y Ellers FALSK. Det tager alle primitive typer
X SAND, hvis udtryk X er mindre end udtryk Y Ellers FALSK. Det tager alle primitive typer
X <= Y SAND, hvis udtryk X er mindre end eller lig med udtryk Y Ellers FALSK. Det tager alle primitive typer
X> Y SAND, hvis udtryk X er større end udtryk Y Ellers FALSK. Det tager alle primitive typer
X> = Y SAND, hvis udtryk X er større end eller lig med udtryk Y Ellers FALSK. Det tager alle primitive typer
X ER NULL SAND, hvis udtryk X evalueres til NULL ellers FALSE. Det tager alle typer
X ER IKKE NUL FALSE Hvis udtryk X evalueres til NULL ellers SAND. Det tager alle typer
X Ligesom Y SAND Hvis strengmønster X matcher Y, ellers FALSE. Tager kun strenge
X RLIKE Y NULL, hvis X eller Y er NULL, SAND, hvis nogen understreng af X matcher Java-regulære udtryk Y, ellers FALSE. Tager kun strenge
X REGEXP Y Samme som RLIKE. Tager kun strenge

Aritmetiske operatører :

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 operatører.
  • Operandtyperne er alle nummertyper i disse operatører

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 giver os detaljer om aritmetiske operatorer

Indbygget operatør Beskrivelse Operand
X + Y Det returnerer output for at tilføje X- og Y-værdi. Det tager alle nummertyper
X - Y Det returnerer output fra at trække Y fra X-værdi. Det tager alle nummertyper
X * Y Det returnerer output af multiplikation af X- og Y-værdier. Det tager alle nummertyper
X / Y Det vil returnere output for at dividere Y fra X. Det tager alle nummertyper
X% Y Den returnerer resten som følge af at dividere X med Y. Det tager alle nummertyper
X & Y Det vil returnere output fra bitvis AND af X og Y. Det tager alle nummertyper
X | Y Det vil returnere output fra bitvis ELLER af X og Y. Det tager alle nummertyper
X Y Det vil returnere output fra bitvis XOR af X og Y. Det tager alle nummertyper
~ X Det vil returnere output fra bitvis IKKE af X. Det tager alle nummertyper

Logiske operatører:

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

  • Logiske operationer som AND, ELLER, IKKE mellem operander, vi bruger disse operatører.
  • Alle operandtyperne er af BOOLEAN-typen i disse operatører

Følgende tabel giver os detaljer om logiske operatorer

Operatører Beskrivelse Operander
X OG Y SAND, hvis både X og Y er SAND, ellers FALSK. Kun boolske typer
X && Y Samme som X OG Y, men her bruger vi && symbol Kun boolske typer
X ELLER Y SAND, hvis enten X eller Y eller begge er SANDE, ellers FALSK. Kun boolske typer
X || Y Samme som X ELLER Y, men her bruger vi || symbol Kun boolske typer
IKKE X SAND, hvis X er FALSK, ellers FALSK. Kun boolske typer
!X Samme som IKKE X, men her bruger vi! symbol Kun boolske typer

Operatører på komplekse typer:

Følgende tabel giver os detaljer om Complex Type Operators. Dette er operatører, der giver en anden mekanisme til at få adgang til elementer i komplekse typer.

Operatører Operander Beskrivelse
A [n] A er en matrix og n er en heltalstype Det returnerer det nte element i array A. Det første element har indeks på 0
M [nøgle] M er et kort og nøglen har typen K Det vil returnere værdierne tilhører nøglen på kortet

Konstruktioner af kompleks type:

Følgende tabel giver os detaljer om komplekskonstruktører. Det konstruerer forekomster på komplekse datatyper. Disse er af komplekse datatyper som Array, Map og Struct-typer i Hive.

I dette afsnit vil vi se de operationer, der udføres på komplekskonstruktører.

Operatører Operander Beskrivelse
array (val1, val2,…) Det opretter en matrix med de givne elementer som nævnt som val1, val2
Create_ union (tag, val1, val2,…) Det opretter en unionstype med de værdier, som tagparameteren nævner
kort (nøgle1, værdi1, nøgle2, værdi2,…) Det opretter et kort med de givne nøgle / værdipar nævnt i operander
Navngivet_struktur (navn1, val1, navn2, val2,…) Det opretter en Struct 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 giver nogle indbyggede funktioner og operatører til at manipulere de data, der er gemt i Hive-lageret. Hive svarer til SQL-sprog, som understøtter alle typer datafunktioner og forespørgsler på tabeller og databaser.