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