Mis on Hive päringu keel: HiveQL Operatorse
Mis on Hive päringukeel (HiveQL)?
Taru päringu keel (HiveQL) on Apache Hive päringukeel struktureeritud andmete töötlemiseks ja analüüsimiseks. See eraldab kasutajad Map Reduce'i programmeerimise keerukusest. See kasutab õppimise hõlbustamiseks uuesti relatsiooniandmebaaside levinud mõisteid, nagu tabelid, read, veerud ja skeemid. Hive pakub CLI-d Hive päringute kirjutamiseks, kasutades Hive päringukeelt (HiveQL).
Enamik interaktsioone toimub tavaliselt käsurea liidese (CLI) kaudu. Üldiselt on HiveQL-i süntaks sarnane SQL süntaks, mida enamik andmeanalüütikuid tunneb. Taru toetab nelja failivormingut, mis on: TEXTFILE, SEQUENCEFILE, ORC ja RCFILE (salvestise veerufail).
Hive kasutab ühe kasutaja metaandmete salvestamiseks derby andmebaasi ja mitme kasutaja metaandmete või jagatud metaandmete juhtumi jaoks kasutab Hive MYSQL-i.
Sisseehitatud HiveQL Operatorse
Hive pakub sisseehitatud operaatoreid andmetoimingute jaoks, mida saab rakendada Hive'i laos olevatel tabelitel.
Neid operaatoreid kasutatakse operandide matemaatilisteks operatsioonideks ja see tagastab konkreetse väärtuse vastavalt rakendatud loogikale.
Allpool on toodud peamised sisseehitatud tüübid Operatorid HiveQL-is:
- Suhteline Operatorse
- Aritmeetika Operatorse
- loogiline Operatorse
- Operakeeruliste tüüpide puhul
- Kompleksset tüüpi konstruktorid
Suhteline Operatorid Hive SQL-is
Kahe operandi vahelise seose võrdlemiseks kasutame relatsioonioperaatoreid.
- Operatorid nagu võrdub, ei ole võrdne, väiksem kui, suurem kui … jne
- Operanditüübid on nendes kõik numbritüübid Operators.
Järgmine tabel annab meile üksikasju relatsioonioperaatorite ja nende kasutamise kohta HiveQL-is:
| Sisseehitatud Operator | Kirjeldus | Operand |
|---|---|---|
| X = Y | TRUE
kui avaldis X on samaväärne avaldisega Y Muidu VALE. |
See võtab kõik primitiivsed tüübid |
| X ! = Y | TRUE
kui avaldis X ei ole samaväärne avaldisega Y Muidu VALE. |
See võtab kõik primitiivsed tüübid |
| X < Y | TRUE
kui avaldis X on väiksem kui avaldis Y Muidu VALE. |
See võtab kõik primitiivsed tüübid |
| X <= Y | TRUE
kui avaldis X on väiksem kui avaldis Y või sellega võrdne Muidu VALE. |
See võtab kõik primitiivsed tüübid |
| X>Y | TRUE
kui avaldis X on suurem kui avaldis Y Muidu VALE. |
See võtab kõik primitiivsed tüübid |
| X>= Y | TRUE
kui avaldis X on suurem kui avaldis Y või sellega võrdne Muidu VALE. |
See võtab kõik primitiivsed tüübid |
| X ON NULL | TÕENE, kui avaldise X väärtus on NULL, vastasel juhul VÄÄR. | See võtab kõik tüübid |
| X EI OLE NULL | FALSE
Kui avaldise X väärtus on NULL, vastasel juhul TRUE. |
See võtab kõik tüübid |
| X MEELDIB Y | TRUE
Kui stringimuster X sobib Y-ga, vastasel juhul VÄÄR. |
Võtab ainult stringe |
| X RIME Y | NULL, kui X või Y on NULL, TRUE, kui mõni X-i alamstring sobib Java regulaaravaldis Y, muidu FALSE. | Võtab ainult stringe |
| X REGEXP Y | Sama mis RLIKE. | Võtab ainult stringe |
HiveQL Aritmeetika Operatorse
Operandiga aritmeetiliste toimingute tegemiseks kasutame aritmeetilisi tehteid
- Aritmeetilised tehted, näiteks liitmine, alalõikaminetracoperandide vaheliseks korrutamiseks ja jagamiseks kasutame neid Operators.
- Kõik operanditüübid on nendes numbritüübid Operatorse
Näidisnäide:
2 + 3 annab tulemuse 5.
Selles näites on '+' teooperaator ning 2 ja 3 on operandid. Tagastusväärtus on 5
Järgmine tabel annab meile üksikasju Hive päringukeele aritmeetiliste operaatorite kohta:
| Sisseehitatud Operator | Kirjeldus | Operand |
|---|---|---|
| X+Y | See tagastab X ja Y väärtuse lisamise väljundi. | See võtab kõik numbritüübid |
| X–Y | See tagastab alamfunktsiooni väljunditracY väärtuse eristamine X väärtusest. | See võtab kõik numbritüübid |
| X * Y | See tagastab X ja Y väärtuste korrutamise väljundi. | See võtab kõik numbritüübid |
| X/Y | See tagastab väljundi Y jagamisel X-st. | See võtab kõik numbritüübid |
| X % Y | See tagastab jäägi, mis saadakse X jagamisel Y-ga. | See võtab kõik numbritüübid |
| X ja Y | See tagastab X ja Y bitipõhise AND väljundi. | See võtab kõik numbritüübid |
| X | Y | See tagastab X ja Y bitipõhise VÕI väljundi. | See võtab kõik numbritüübid |
| X ^ Y | See tagastab X ja Y bitipõhise XOR väljundi. | See võtab kõik numbritüübid |
| ~X | See tagastab X-i bitipõhise väljundi EI. | See võtab kõik numbritüübid |
Taru QL Loogiline Operatorse
Loogiliste operatsioonide tegemiseks kasutame operandidega loogilisi operaatoreid
- Me kasutame operandide vahelisi loogilisi tehteid, nagu AND, OR, NOT Operators.
- Kõik operanditüübid on nendes BOOLEAN tüüpi Operatorse
Järgmine tabel annab meile üksikasju HiveSQL-i loogiliste operaatorite kohta:
| Operatorse | Kirjeldus | Operands |
|---|---|---|
| X JA Y | TÕENE, kui nii X kui ka Y on TÕENED, vastasel juhul VÄÄR. | Ainult Boole'i tüübid |
| X && Y | Sama mis X JA Y, kuid siin kasutame sümbolit && | Ainult Boole'i tüübid |
| X VÕI Y | TÕENE, kui kas X või Y või mõlemad on TÕENE, vastasel juhul VÄÄR. | Ainult Boole'i tüübid |
| X || Y | Sama mis X VÕI Y, kuid siin kasutame || sümbol | Ainult Boole'i tüübid |
| MITTE X | TÕENE, kui X on FALSE, vastasel juhul VÄÄR. | Ainult Boole'i tüübid |
| !X | Sama mis NOT X, kuid siin kasutame! sümbol | Ainult Boole'i tüübid |
Operakeeruliste tüüpide kohta
Järgmine tabel annab meile üksikasjalikud andmed kompleksi tüübi kohta Operators . Need on operaatorid, kes pakuvad keerukat tüüpi elementidele juurdepääsuks teistsuguse mehhanismi.
| Operatorse | Operands | Kirjeldus |
|---|---|---|
| A[n] | A on massiiv ja n on täisarvu tüüp | See tagastab massiivi A n-nda elemendi. Esimese elemendi indeks on 0 |
| M[võti] | M on kaart ja võtmel on tüüp K | See tagastab väärtused, mis kuuluvad kaardil olevale võtmele |
Kompleksset tüüpi konstruktorid
Järgmine tabel annab meile üksikasjalikku teavet komplekstüüpi konstruktorite kohta. See loob eksemplare keerukate andmetüüpide põhjal. Need on keerukad andmetüübid, näiteks massiivi, kaardi ja struktuuritüübid Mesilaspere.
Selles jaotises näeme komplekstüüpi konstruktoritega tehtud toiminguid.
| Operatorse | Operands | Kirjeldus |
|---|---|---|
| massiivi | (val1, val2, …) | See loob massiivi antud elementidega, nagu mainitud, nagu val1, val2 |
| Loo_ liit | (silt, val1, val2, …) | See loob liidu tüübi väärtustega, millele märgendi parameeter viitab |
| kaart | (võti1, väärtus1, võti2, väärtus2, …) | See loob kaardi operandides mainitud võtme/väärtuse paaridega |
| Nimega_struktuur | (nimi1, väärtus1, nimi2, väärtus2, …) | See loob struktuuri antud väljanimede ja operandides mainitud väärtustega |
| STRUKT | (val1, val2, val3, …) | Loob antud välja väärtustega struktuuri. Struktuuriväljade nimed on col1, col2, . |
kokkuvõte
- Hive Query Language (HiveQL) on päringukeel Apache Taru struktureeritud andmete töötlemiseks ja analüüsimiseks.
- Hive pakub sisseehitatud operaatoreid andmetoimingute jaoks, mida saab rakendada Hive'i laos olevatel tabelitel.
- Sisseehitatud tüübid OperaHiveQL-i torid on:
- Suhteline Operatorse
- Aritmeetika Operatorse
- loogiline Operatorse
- Operakeeruliste tüüpide puhul
- Kompleksset tüüpi konstruktorid
