Mikä on HiveQL (Hive Query Language)?
Hive tarjoaa CLI: n Hive-kyselyjen kirjoittamiseen Hive Query Language (HiveQL) -tekniikalla. Yleensä HQL-syntakse on samanlainen kuin useimmat data-analyytikot tuntevat SQL-syntaksit.
Hiven SQL-inspiroima kieli erottaa käyttäjän Map Reduce -ohjelmoinnin monimutkaisuudesta. Se käyttää uudelleen relaatiotietokantamaailmasta tuttuja käsitteitä, kuten taulukoita, rivejä, sarakkeita ja kaavioita oppimisen helpottamiseksi.
Suurin osa vuorovaikutuksista tapahtuu yleensä komentoriviliittymän (CLI) kautta. Hive tarjoaa CLI: n Hive-kyselyjen kirjoittamiseen Hive Query Language (Hive-QL).
Yleensä HiveQL-syntakse on samanlainen kuin useimmat data-analyytikot tuntevat SQL-syntaksit. Hive tukee neljää tiedostomuotoa, jotka ovat TEXTFILE, SEQUENCEFILE, ORC ja RCFILE (Tallenna saraketiedosto).
- Yhden käyttäjän metatietojen tallentamiseen Hive käyttää derby-tietokantaa ja
- Usean käyttäjän metatiedoissa tai jaetuissa metatietotapauksissa Hive käyttää MYSQL: ää
Sisäänrakennetut operaattorit
Hive tarjoaa sisäänrakennetut operaattorit datatoiminnoille, jotka toteutetaan Hive-varaston sisällä olevissa taulukoissa.
Näitä operaattoreita käytetään operandien matemaattisiin operaatioihin, ja se palauttaa tietyn arvon sovelletun logiikan mukaisesti.
HIVEn sisäänrakennettujen operaattorien tyypit ovat:
- Suhteelliset operaattorit
- Aritmeettiset operaattorit
- Loogiset operaattorit
- Operaattorit monimutkaisissa tyypeissä
- Monimutkaiset rakentajat
Suhteelliset operaattorit:
Käytämme Relaatio-operaattoreita kahden operandin välisiin suhteiden vertailuihin.
- Operaattorit, kuten yhtä suuri, ei ole yhtä suuri, pienempi kuin suurempi kuin… jne
- Operandityypit ovat kaikki näiden operaattoreiden numerotyyppejä.
Seuraava taulukko antaa meille tietoja relaatio-operaattoreista ja niiden käytöstä.
Sisäänrakennettu operaattori | Kuvaus | Operandi |
X = Y | TOSI, jos lauseke X vastaa lauseketta Y Muuten EPÄTOSI. | Se vie kaikki alkeelliset tyypit |
X! = Y | TOSI, jos lauseke X ei vastaa lauseketta Y Muuten EPÄTOSI. | Se vie kaikki alkeelliset tyypit |
X TOSI, jos lauseke X on pienempi kuin lauseke Y Muuten EPÄTOSI. | Se vie kaikki alkeelliset tyypit |
|
X <= Y | TOSI, jos lauseke X on pienempi tai yhtä suuri kuin lauseke Y Muuten EPÄTOSI. | Se vie kaikki alkeelliset tyypit |
X> Y | TOSI, jos lauseke X on suurempi kuin lauseke Y Muuten EPÄTOSI. | Se vie kaikki alkeelliset tyypit |
X> = Y | TOSI, jos lauseke X on suurempi tai yhtä suuri kuin lauseke Y Muuten EPÄTOSI. | Se vie kaikki alkeelliset tyypit |
X ON NULL | TOSI, jos lauseke X arvioi arvon NULL muuten EPÄTOSI. | Se vie kaikenlaisia |
X EI OLE NULL | EPÄTOSI Jos lauseke X arvioi arvon NULL muuten TOSI. | Se vie kaikenlaisia |
X kuten Y | TOSI Jos merkkijono X vastaa Y-arvoa, muuten EPÄTOSI. | Ottaa vain merkkijonoja |
X TUNNUS Y | NULL, jos X tai Y on NULL, TOSI, jos jokin X: n alaosasta vastaa Java-säännöllistä lauseketta Y, muuten FALSE. | Ottaa vain merkkijonoja |
X REGEXP Y | Sama kuin RLIKE. | Ottaa vain merkkijonoja |
Aritmeettiset operaattorit :
Käytämme aritmeettisia operaattoreita aritmeettisten operaatioiden suorittamiseen operandeilla
- Aritmeettisia operaatioita, kuten yhteenlasku, vähennyslasku, kertolasku ja jakaminen operandien välillä, käytämme näitä operaattoreita.
- Kaikki operandityypit ovat näiden Operaattoreiden numerotyyppejä
Esimerkki esimerkistä:
2 + 3 antaa tuloksen 5.
Tässä esimerkissä '+' on operaattori ja 2 ja 3 ovat operandeja. Palautusarvo on 5
Seuraava taulukko antaa meille tietoja aritmeettisista operaattoreista
Sisäänrakennettu operaattori | Kuvaus | Operandi |
X + Y | Se palauttaa X- ja Y-arvon lisäämisen tuotoksen. | Se vie kaikki numerotyypit |
X - Y | Se palauttaa Y: n vähentämisen X-arvosta. | Se vie kaikki numerotyypit |
X * Y | Se palauttaa X- ja Y-arvojen kertomisen. | Se vie kaikki numerotyypit |
X / Y | Se palauttaa Y: n jakamisen X: stä. | Se vie kaikki numerotyypit |
X% Y | Se palauttaa loput, jotka syntyvät jakamalla X Y: llä. | Se vie kaikki numerotyypit |
X & Y | Se palauttaa X: n ja Y: n bittiviivan AND: n lähdön. | Se vie kaikki numerotyypit |
X | Y | Se palauttaa X: n ja Y: n bittiviivan OR: n lähdön. | Se vie kaikki numerotyypit |
X Y | Se palauttaa X: n ja Y: n bittikohtaisen XOR: n lähdön. | Se vie kaikki numerotyypit |
~ X | Se palauttaa X: n bittikohtaisen EI-lähdön. | Se vie kaikki numerotyypit |
Loogiset operaattorit:
Käytämme loogisia operaattoreita loogisten operaatioiden suorittamiseen operandeilla
- Loogisia operaatioita, kuten AND, OR, EI operandien välillä, käytämme näitä operaattoreita.
- Kaikki operandityypit ovat BOOLEAN-tyyppisiä näissä operaattoreissa
Seuraava taulukko antaa meille tietoja loogisista operaattoreista
Operaattorit | Kuvaus | Operandit |
X JA Y | TOSI, jos sekä X että Y ovat TOSI, muuten EPÄTOSI. | Vain loogiset tyypit |
X && Y | Sama kuin X JA Y, mutta tässä käytetään && -symbolia | Vain loogiset tyypit |
X TAI Y | TOSI, jos joko X tai Y tai molemmat ovat TOSI, muuten EPÄTOSI. | Vain loogiset tyypit |
X || Y | Sama kuin X TAI Y, mutta tässä käytämme || symboli | Vain loogiset tyypit |
EI X | TOSI, jos X on EPÄTOSI, muuten EPÄTOSI. | Vain loogiset tyypit |
X | Sama kuin EI X, mutta tässä käytämme! symboli | Vain loogiset tyypit |
Operaattorit monimutkaisissa tyypeissä:
Seuraava taulukko antaa meille tietoja monimutkaisista operaattoreista. Nämä ovat operaattoreita, jotka tarjoavat erilaisen mekanismin monimutkaisten elementtien käyttämiseen.
Operaattorit | Operandit | Kuvaus |
A [n] | A on taulukko ja n on kokonaislukutyyppi | Se palauttaa taulukon n: nnen elementin. Ensimmäisen elementin indeksi on 0 |
M [avain] | M on kartta | Se palauttaa arvot, jotka kuuluvat kartan avaimeen |
Monimutkaiset rakentajat:
Seuraava taulukko antaa meille tietoja monimutkaisista rakenteista. Se rakentaa ilmentymiä monimutkaisille tietotyypeille. Nämä ovat monimutkaisia tietotyyppejä, kuten Arrive, Map ja Struct in Hive.
Tässä osassa aiomme nähdä Complex-tyyppisille rakentajille suoritetut toiminnot.
Operaattorit | Operandit | Kuvaus |
taulukko | (val1, val2,…) | Se luo taulukon annetuilla elementeillä kuten val1, val2 |
Luo_liitto | (tag, val1, val2,…) | Se luo liitetyypin arvoilla, jotka tag-parametri mainitsee |
kartta | (avain1, arvo1, avain2, arvo2,…) | Se luo kartan annetuilla avain / arvo-pareilla, jotka mainitaan operandeissa |
Nimetty_rakenne | (nimi1, val1, nimi2, val2,…) | Se luo rakenteen, jolla on annetut kenttien nimet ja operandeissa mainitut arvot |
RAKENNE | (val1, val2, val3,…) | Luo rakenteen annetuilla kenttäarvoilla. Rakennekenttien nimet ovat col1, col2,. |
Yhteenveto:
Hive tarjoaa joitain sisäänrakennettuja toimintoja ja operaattoreita Hive-varastoon tallennettujen tietojen käsittelyyn. Hive on samanlainen kuin SQL-kieli, joka tukee kaiken tyyppisiä datatoimintoja ja kyselyjä taulukoissa ja tietokannoissa.