Johdanto HiveQL: ään

HiveQL, joka tunnetaan yleisesti nimellä HQL, on SQL-tyyppinen kyselykieli suurten tietojen palauttamiseksi Hadoop-ympäristöstä. Alun perin Facebookin vuonna 2007 kehittämästä Hivestä on myöhemmin tullut avoimen lähdekoodin Apache-projekti. SQL-syntaksin kaltaisista pesänkyselyistä on tullut nykyään suosittuja data-analyytikoiden keskuudessa. HiveQL, joka käyttää HDFS-tallennusta ja MapReduce-prosessointia, auttaa saamaan oivalluksia isoille tiedonkäyttäjille, joilla on minimaalinen koodauskokemus. Erilaisia ​​hajautettuja laskentamoottoreita, kuten Apache Tez ja Apache Spark, voidaan käyttää HiveQL: n kanssa suurten tietojen analysoinnin nopeampaan käsittelyyn. Erilaisia ​​tapoja käyttää HiveQL: tä on - CLI (komentoriviliittymä), kaupalliset tuotteet, kuten Karmasphere, Clouderan avoimen lähdekoodin sävy ja Qubole.

HiveQL: n toiminta

Hive tarjoaa SQL-tyyppisen murreen tietojen käsittelyä varten, joten meidän ei tarvitse kirjoittaa matalan tason MapReduce-töitä tietojen noutamiseksi (Mapperin kautta) ja lopputulosten yhdistämiseksi (Reducer-moduulien kautta).

  • Suorita pesän kysely

Hive-kyselyn suorittamiseen liittyvät vaiheet ovat:

  1. Hive-käyttöliittymä (CLI: n tai Web UI: n kautta) lähettää kyselyn ohjaimelle (joka on JDBC, ODBC tai Thrift Server) kootaa, optimoida ja suorittaa. Se tarkistaa kyselyn kääntäjän kautta syntaksin ja suoritussuunnitelman suhteen.
  2. Kääntäjä lähettää pyynnön Metastorelle ja vastaanottaa vastauksena metatiedot.
  3. Kääntäjä kommunikoi suoritussuunnitelman takaisin kuljettajalle, joka lähettää sen edelleen suoritusmoottorille.
  4. Suoritusmoottori on vuorovaikutuksessa Job Tracker -työkalun kanssa, joka on nimisolmu työn saamiseksi.
  5. Samanaikaisesti suoritusmoottori suorittaa myös metatieto-operaation.
  6. Nimesolmu saa työn tehtäväseurannalla tai datasolmuilla.
  7. Tulokset, jotka jaetaan suoritusmoottorin kanssa, jotka sitten näytetään käyttöliittymän kautta ohjaimen kautta.
  • Kyselyjen optimointi

HiveQL: n virittäminen kyselyiden parempaan optimointiin. Alla olevia komentoja käyttämällä voimme ohittaa oletuskokoonpanot ja mahdollistaa kyselyn nopeamman suorittamisen.

1 SET hive.execution.engine = tez

Oletusarvoisesti suoritusmoottori on asetettu Mapreduceksi, mutta voimme nimenomaisesti asettaa sen tez (vain Hadoop 2) tai Spark (Hive 1.1. 0 eteenpäin).

2 SET hive.mapred.mode = purkaa

Tämä on tarkoitettu dynaamiseen osiointiin, josta on apua suurten tietojoukkojen lataamisessa. Staattinen osiointi on kuitenkin asetettu oletukseksi, mikä tapahtuu “tiukassa” tilassa.

3 SET hive.vectorized.execution = totta

aseta hive.vectorized.execution.enabled = totta

Vektorisoitu kyselyn suorittaminen mahdollistaa toiminnan, kuten –aggregaatit, suodattimet tai liittymiset tapahtuvat 1024 rivierässä yhden rivin sijasta kerrallaan.

4 SET hive.auto.convert.join = totta

Yhdistettäessä suurta tietojoukkoa erittäin pieneen tietojoukkoon, karttaliitännät ovat tehokkaampia ja ne voidaan asettaa yllä olevan komennon avulla.

5 SET hive.exec.parallel = totta

MapReduce-työt suoritetaan samanaikaisesti Hadoopissa. Joskus, jos kyselyt eivät ole riippuvaisia ​​toisistaan, voidaan suosia samanaikaista suoritusta, mikä johtaa parempaan muistin hallintaan.

6 SET hive.exec.compress.output = totta

Tämä mahdollistaa lopullisen tulosteen tallentamisen HDFS: ään pakatussa muodossa.

7 SET hive.exec.compress.output = totta

Tämä mahdollistaa lopullisen tulosteen tallentamisen HDFS: ään pakatussa muodossa.

HiveQL: n ominaisuudet

  1. Koska korkean tason kieli, pesän kyselyt muunnetaan implisiittisesti karttaa pienentäviksi töiksi tai monimutkaisiksi DAG: ksi (suunnatut asykliset kuvaajat). Käyttämällä 'Selitä'-avainsanaa ennen kyselyä saamme kyselysuunnitelman.
  2. Nopein kyselyn suorittaminen käyttämällä metadata-tallennusta RDMS-muodossa ja jäljentää tietoja, joten haku on helppoa kadotapauksissa.
  3. Bittikartta-indeksointi tehdään kyselyiden nopeuttamiseksi.
  4. Parantaa suorituskykyä sallimalla tietojen osittainen jakaminen.
  5. Hive voi käsitellä erityyppisiä pakattuja tiedostoja, mikä säästää levytilaa.
  6. Merkkijonojen, kokonaislukujen tai päivämäärien käsittelemiseksi HiveQL tukee käyttäjän määrittämien toimintojen (UDF) laajentamista sellaisten ongelmien ratkaisemiseksi, joita sisäiset UDF: t eivät tue.
  7. Se tarjoaa joukon lisäsovellusliittymiä mukautetun kyselymoottorin rakentamiseksi.
  8. Eri tiedostomuotoja, kuten Textfile, Sequencefile, ORC (Optimized Row Columnar), RCFile, Avro ja Parquet, tuetaan. ORC-tiedostomuoto on sopivin kyselyn suorituskyvyn parantamiseksi, koska se tallentaa tietoja optimoidimmalla tavalla, mikä johtaa kyselyn nopeampaan suorittamiseen.
  9. Se on tehokas tietojen analysointi- ja ETL-työkalu suurille tietoaineistoille 10. Helppo kirjoittaa kyselyjä, koska se on samanlainen kuin SQL. Pesän DDL (Data Definition Language) -komentoja käytetään määrittämään ja muuttamaan pesän tietokannan tai taulukoiden rakennetta. Nämä komennot pudottavat, luovat, katkaisevat, muuttavat, näyttävät tai kuvaavat.

rajoitukset

  1. Pesän kyselyillä on pidempi viive, koska Hadoop on eräkeskeinen järjestelmä.
  2. Sisäkkäisiä tai alikyselyjä ei tueta.
  3. Päivitys-, poistamis- tai lisäämistoimintoa ei voida suorittaa ennätystasolla.
  4. Reaaliaikaista tietojenkäsittelyä tai kyselyä ei tarjota HQL: n Hive Scope -sivun kautta.

HiveQL: llä on petatavuja tietoja, jotka vaihtelevat miljardeista biljooniin tietueisiin, ja tarjoaa laajan laajuuden suurille data-ammattilaisille.

HiveQL-sovellusalue

Seuraavassa on tapoja, joilla HiveQL laajenee ja palvelee paremmin käyttäjien päivittäin tuottaman tyhjän tiedon analysointia.

Suojaus: Suurten tietojen käsittelyn lisäksi Hive tarjoaa tietoturvan. Tämä tehtävä on hajautetulle järjestelmälle monimutkainen, koska kommunikointiin keskenään tarvitaan useita komponentteja. Kerberos-valtuutustuki mahdollistaa todennuksen asiakkaan ja palvelimen välillä.

Lukitseminen: Perinteisesti pesästä puuttuu lukitus riveihin, sarakkeisiin tai kyselyihin. Pesä voi käyttää Apache-eläintarhanhoitajaa lukituksen tukeen.

Työnkulun hallinta : Apache Oozie on työnkulun aikataulu, jolla automatisoidaan erilaiset HiveQL-kyselyt peräkkäin tai rinnakkain.

Visualisointi: Zeppelin-muistikirja on verkkopohjainen muistikirja, joka mahdollistaa interaktiivisen datan analysoinnin. Se tukee Hive ja Spark tietojen visualisointia ja yhteistyötä.

johtopäätös

HiveQL: ää käytetään laajasti organisaatioissa monimutkaisten käyttötapausten ratkaisemiseksi. Kielen tarjoamat ominaisuudet ja rajoitukset huomioon ottaen pesän kyselykieltä käytetään televiestinnässä, terveydenhuollossa, vähittäiskaupassa, pankki- ja finanssipalveluissa ja jopa NASA: n Test Propulsion Laboratoryn ilmastoarviointijärjestelmässä. Helppo kirjoittaa SQL-kyselyitä ja -komentoja, jotta tilit hyväksyttäisiin laajemmin. Kasvava työmahdollisuus tällä alalla houkuttelee tuoreempaa ja eri alojen ammattilaiset saamaan käytännön kokemusta ja tietoa kentästä.

Suositellut artikkelit

Tämä on opas HiveQL: ään. Tässä keskustellaan HiveQL: n johdannosta, kyselyjen optimoinnista sekä sen rajoituksista ja ominaisuuksista. Voit myös käydä liittyvien artikkeleidemme läpi saadaksesi lisätietoja

  1. Mikä on pesän tietotyypit?
  2. Pesän vaihtoehdot | Ota selvää ominaisuuksista
  3. Pesän komentojen tärkeimmät komponentit
  4. 10 parasta pesähaastattelua koskevaa kysymystä

Luokka: