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
