HiveQL (Hive Query Language) -opetusohjelma: Sisäänrakennetut operaattorit

Sisällysluettelo:

Anonim

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 ja näppäimellä on tyyppi K 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.