Hive on liiketoiminnassa laajalti käytetty Big Data Analytics -työkalu, ja se on loistava paikka aloittaa, jos olet uusi Big Datan käyttäjä. Tällä Apache Hive -oppitunnilla käydään läpi Apache Hiven perusteet, miksi pesä on välttämätön, sen ominaisuudet ja kaikki muu, mitä sinun tulee tietää.
Ymmärretään ensin Hadoop-kehys, jolle Apache Hive on rakennettu.
Apache Hadoop
Apache Hadoop on ilmainen ja avoimen lähdekoodin alusta suurten tietojoukkojen tallentamiseen ja käsittelyyn, joiden koko vaihtelee gigatavuista petatavuihin. Hadoop mahdollistaa useiden tietokoneiden klusteroinnin valtavien tietojoukkojen analysoimiseksi rinnakkain sen sijaan, että tietojen tallentamiseen ja analysointiin vaadittaisiin yhtä suurta tietokonetta.
MapReduce ja Hadoop Distributed File System ovat kaksi komponenttia:
- MapReduce – MapReduce on rinnakkaisohjelmointitekniikka, jolla voidaan käsitellä valtavia määriä organisoitua, puolistrukturoitua ja strukturoimatonta dataa hyödykelaitteistoklustereissa.
- HDFS – HDFS (Hadoop Distributed File System) on Hadoop-kehyskomponentti, joka tallentaa ja käsittelee tietoja. Se on vikasietoinen tiedostojärjestelmä, joka toimii vakiolaitteistolla
Hadoop-ekosysteemin eri aliprojekteja (työkaluja), mukaan lukien Sqoop, Pig ja Hive, käytetään auttamaan Hadoop-moduuleja.
- Hive – Hive on kehys SQL-tyylisten komentosarjojen kirjoittamiseen, jotka suorittavat MapReduce-laskutoimituksia.
- Sika – Pig on proseduuriohjelmointikieli, jota voidaan käyttää komentosarjan luomiseen MapReduce-prosesseille.
- Sqoop – Sqoop on työkalu tietojen tuontiin ja vientiin HDFS:n ja RDBMS:n välillä.
Mikä on Apache Hive?
Apache Hive on avoimen lähdekoodin ohjelmisto tietovarasto ohjelma, jolla voit lukea, kirjoittaa ja hallita valtavia tietojoukkoja, jotka on tallennettu suoraan Apache Hadoop Distributed File System (HDFS) -järjestelmään tai muihin tiedontallennusjärjestelmiin, kuten Apache HBaseen.
SQL-kehittäjät voivat käyttää Hiveä Hive Query Language (HQL) -käskyjen luomiseen tietojen kyselyä ja analysointia varten, jotka ovat verrattavissa tavallisiin SQL-käskyihin. Se luotiin helpottamaan MapReducen ohjelmointia poistamalla tarpeen oppia ja kirjoittaa pitkää Java-koodia. Sen sijaan voit kirjoittaa kyselysi HQL:ssä, jolloin Hive rakentaa kartan ja vähentää toimintoja puolestasi.
Apache Hiven SQL:n kaltaisesta käyttöliittymästä on tullut kultainen standardi ad-hoc-hakujen tekemiseen, yhteenvetojen tekemiseen ja Hadoop-tietojen analysointiin. Kun se sisältyy pilveen tietokoneverkot, tämä ratkaisu on erityisen kustannustehokas ja skaalautuva, minkä vuoksi monet yritykset, mukaan lukien Netflix ja Amazon, jatkavat Apache Hiven kehittämistä ja parantamista.
Historia
Facebookissa ollessaan Joydeep Sen Sarma ja Ashish Suchoo loivat yhdessä Apache Hiven. He molemmat ymmärsivät, että saadakseen kaiken irti Hadoopista, heidän oli luotava melko monimutkaisia Java Map-Reduce -tehtäviä. He ymmärsivät, etteivät he pystyisi kouluttamaan nopeasti laajenevia suunnittelu- ja analytiikkatiimejä taidoissa, joita he tarvitsisivat hyödyntääkseen Hadoopin kaikkialla yrityksessä. Insinöörit ja analyytikot käyttivät usein SQL:ää käyttöliittymänä.
Vaikka SQL voisi täyttää suurimman osan analytiikkatarpeista, kehittäjät aikoivat myös sisällyttää Hadoopin ohjelmoitavuuden. Apache Hive syntyi näistä kahdesta tavoitteesta: SQL-pohjainen deklaratiivinen kieli, jonka avulla kehittäjät saattoivat tuoda myös omia komentosarjojaan ja ohjelmiaan, kun SQL ei riittänyt.
Se kehitettiin myös säilyttämään keskitetyt metatiedot (Hadoop-pohjaiset) kaikista yrityksen tietojoukoista, jotta tietopohjaisten organisaatioiden rakentaminen olisi helpompaa.
Miten Apache Hive toimii?
Lyhyesti sanottuna Apache Hive muuntaa HiveQL-kielellä (SQL:n kaltaisella) kirjoitetun syöttöohjelman yhdeksi tai useammaksi Java MapReduce-, Tez- tai Spark-tehtäväksi. (Kaikki nämä suorituskoneet ovat yhteensopivia Hadoop YARN:n kanssa.) Sen jälkeen Apache Hive järjestää tiedot taulukoiksi Hadoop Distributed File System HDFS:ää varten) ja suorittaa tehtävät klusterissa saadakseen vastauksen.
Päiväys
Apache Hive -taulukot on järjestetty samalla tavalla kuin relaatiotietokannan taulukot, jolloin tietoyksiköiden koko vaihtelee isommasta pienempään. Tietokannat koostuvat taulukoista, jotka on jaettu osastoon, joka on edelleen jaettu ämpäriin. HiveQL-kieltä (Hive Query Language) käytetään pääsyyn tietoihin, joita voidaan muuttaa tai liittää. Taulukkotiedot sarjoidaan kunkin tietokannan sisällä, ja jokaisella taulukolla on oma HDFS-hakemistonsa.
arkkitehtuuri
Nyt puhumme Hive-arkkitehtuurin tärkeimmistä näkökohdista. Apache Hiven osat ovat seuraavat:
Metastore — Se pitää kirjaa kunkin taulukon tiedoista, kuten sen rakenteesta ja sijainnista. Osion metatiedot sisältyvät myös Hiveen. Tämän avulla kuljettaja voi seurata eri tietojoukkojen etenemistä klusterissa. Tiedot tallennetaan perinteisessä RDBMS-muodossa. Hiven metatiedot ovat äärimmäisen tärkeitä kuljettajalle tietojen kirjaamisen kannalta. Varmuuskopiopalvelin monistaa tietoja säännöllisesti, jotta ne voidaan palauttaa tietojen katoamisen yhteydessä.
kuljettaja – Ohjaimena toimiva kuljettaja vastaanottaa HiveQL-lausekkeet. Muodostamalla istuntoja kuljettaja aloittaa lausunnon suorittamisen. Se seuraa johtajan elinikää ja edistymistä. HiveQL-käskyn suorittamisen aikana ajuri tallentaa tarvittavat metatiedot. Se toimii myös tietojen tai kyselyn tulosten keräyspisteenä Reduce-prosessin jälkeen.
kääntäjä – Se suorittaa HiveQL-kyselykokoelman. Kysely on nyt muutettu suoritussuunnitelmaksi. Tehtävät on lueteltu suunnitelmassa. Se sisältää myös vaiheet, jotka MapReducen on suoritettava saadakseen kyselyn kääntämän tuloksen. Hiven kääntäjä (AST) muuntaa kyselyn abstraktiksi syntaksipuuksi. Muuntaa AST:n suunnatuksi asykliseksi kuvaajaksi tarkistettuaan yhteensopivuuden ja käännösaikavikojen (DAG) varalta.
Optimizer – Se optimoi DAG:n tekemällä erilaisia muutoksia toteutussuunnitelmaan. Se yhdistää muunnoksia tehokkuuden parantamiseksi, kuten liitosputkilinjan muuttamisen yhdeksi liitokseksi. Nopeuden parantamiseksi optimoija saattaa jakaa toiminnot, kuten muunnoksen soveltamisen tietoihin ennen vähennystoiminnon suorittamista.
täytäntöönpanija – Suoritin suorittaa tehtävät, kun käännös ja optimointi on valmis. Työt valmistelee toteuttaja.
CLI, UI ja Thrift Server – Komentorivikäyttöliittymä (CLI) on käyttöliittymä, jonka avulla ulkoinen käyttäjä voi kommunikoida Hiven kanssa. Hiven säästävä palvelin, joka on samanlainen kuin JDBC- tai ODBC-protokollat, mahdollistaa ulkoisten asiakkaiden kommunikoinnin Hiven kanssa verkon kautta.
Turvallisuus
Apache Hive on integroitu Hadoop-tietoturvaan, joka käyttää Kerberosia asiakkaan ja palvelimen keskinäiseen todentamiseen. HDFS sanelee luvat äskettäin luoduille tiedostoille Apache Hivessa, jolloin käyttäjä, ryhmä ja muut voivat hyväksyä ne.
Tärkeimmät ominaisuudet
- Hive tukee ulkoisia taulukoita, joiden avulla voit käsitellä tietoja tallentamatta niitä HDFS:ään.
- Se mahdollistaa myös tietojen segmentoinnin taulukkotasolla nopeuden lisäämiseksi.
- Apache Hive täyttää erinomaisesti Hadoopin matalan tason käyttöliittymätarpeen.
- Hive tekee tietojen yhteenvedosta, kyselyistä ja analysoinnista helpompaa.
- HiveQL ei vaadi ohjelmointitaitoja; SQL-kyselyiden yksinkertainen ymmärtäminen riittää.
- Voimme käyttää Hiveä myös ad hoc -kyselyjen tekemiseen tietojen analysointiin.
- Se on skaalautuva, tuttu ja mukautuva.
- HiveQL ei vaadi ohjelmointitaitoja; SQL-kyselyiden yksinkertainen ymmärtäminen riittää.
Hyödyt
Apache Hive mahdollistaa päivän lopun raportit, päivittäiset tapahtumaarvioinnit, ad hoc -haut ja data-analyysit. Apache Hiven tarjoamat kattavat näkemykset antavat merkittäviä kilpailuetuja ja helpottavat markkinoiden vaatimuksiin vastaamista.
Tässä on joitain etuja siitä, että tällaiset tiedot ovat helposti saatavilla:
- Helppokäyttöisyys – SQL:n kaltaisen kielen ansiosta tietojen kysely on helppo ymmärtää.
- Nopeutettu tietojen lisäys — Koska Apache Hive lukee skeeman tarkistamatta taulukkotyyppiä tai skeeman määritelmää, tietoja ei tarvitse lukea, jäsentää ja sarjottaa levylle tietokannan sisäisessä muodossa. Sitä vastoin perinteisessä tietokannassa tiedot on validoitava joka kerta, kun ne lisätään.
- Erinomainen skaalautuvuus, joustavuus ja kustannustehokkuus – Koska tiedot tallennetaan HDFS:ään, Apache Hive voi sisältää 100 petabyyttiä tietoa, mikä tekee siitä paljon skaalautuvamman vaihtoehdon kuin tyypillinen tietokanta. Apache Hive on pilvipohjainen Hadoop-palvelu, jonka avulla asiakkaat voivat nopeasti pyörittää virtuaalipalvelimia ylös ja alas vastaamaan muuttuviin työkuormiin.
- Laaja työkyky – Suuret tietojoukot voivat käsitellä jopa 100,000 XNUMX kyselyä tunnissa.
Rajoitukset
- Yleensä Apache Hive -kyselyillä on erittäin korkea latenssi.
- Alikyselyn tuki on rajoitettu.
- Reaaliaikaiset kyselyt ja rivitason muutokset eivät ole käytettävissä Apache Hivessa.
- Toteutuneille näkemyksille ei ole tukea.
- Pesässä päivitys- ja poistotoimintoja ei tueta.
- Ei tarkoitettu OLTP:lle (online siirtymäprosessi).
Apache Hiven käytön aloittaminen
Apache Hive on vahva Hadoop-kumppani, joka yksinkertaistaa ja virtaviivaistaa työnkulkuasi. Jotta saat kaiken irti Apache Hivesta, saumaton integrointi on välttämätöntä. Ensimmäinen askel on mennä verkkosivusto.
1. Asennuspesä vakaasta julkaisusta
Aloita lataamalla Hiven uusin vakaa julkaisu yhdestä Apachen latauspeileistä (katso Hive julkaisut). Tarball on tämän jälkeen purettava. Tämä luo alikansion nimeltä hive-xyz (jossa xyz on julkaisunumero):
Aseta ympäristömuuttuja HIVE_HOME osoittamaan asennushakemistoon:
Lisää lopuksi $HIVE_HOME/bin omaan PATH
:
2. Running Hive
Hive käyttää Hadoopia, joten:
- sinulla on oltava Hadoop tielläsi TAI
3. DLL-toiminta
Hive-taulukon luominen
luo taulukon nimeltä pokes, jossa on kaksi saraketta, joista ensimmäinen on kokonaisluku ja toinen merkkijono.
Taulukoiden selaaminen
Listaa kaikki taulukot
Taulukoiden muuttaminen ja pudottaminen
Taulukon nimiä voidaan muuttaa ja sarakkeita voidaan lisätä tai korvata:
On syytä huomata, että REPLACE COLUMNS korvaa kaikki olemassa olevat sarakkeet ja muuttaa vain taulukon rakennetta, ei tietoja. Taulukossa on käytettävä alkuperäistä SerDe:tä. REPLACE COLUMNS -toimintoa voidaan käyttää myös sarakkeiden poistamiseen taulukon skeemasta:
Pudottavat taulukot
Apache Hivessa on monia lisätoimintoja ja -ominaisuuksia, joista voit oppia vierailemalla virallisella verkkosivustolla.
Yhteenveto
Hive Definition on tietoohjelman käyttöliittymä valtavien tietojoukkojen kyselyyn ja analysointiin, jotka on rakennettu Apache Hadoopin päälle. Ammattilaiset valitsevat sen muiden ohjelmien, työkalujen ja ohjelmistojen sijaan, koska se on suunniteltu pääasiassa Hiven laajalle datalle ja sitä on helppo käyttää.
Toivottavasti tämä opetusohjelma auttaa sinua aloittamaan Apache Hiven käytön ja tehostamaan työnkulkuasi. Kerro meille kommenteissa.
Jätä vastaus