Hive is in breed brûkt Big Data Analytics-ark yn it bedriuw, en it is in fantastysk plak om te begjinnen as jo nij binne by Big Data. Dizze Apache Hive-les giet troch de fûneminten fan Apache Hive, wêrom in korf nedich is, syn funksjes, en al it oare dat jo witte moatte.
Litte wy earst it Hadoop-ramt begripe wêrop Apache Hive is boud.
Apache Hadoop
Apache Hadoop is in fergese en iepen-boarne platfoarm foar it opslaan en ferwurkjen fan grutte datasets fariearjend yn grutte fan gigabytes oant petabytes. Hadoop lit ferskate kompjûters klusterje om enoarme datasets parallel te analysearjen, ynstee fan in inkele grutte kompjûter te fereaskje om de gegevens op te slaan en te analysearjen.
MapReduce en Hadoop Distributed File System binne twa fan 'e komponinten:
- MapReduce - MapReduce is in parallelle programmearringtechnyk foar it behanneljen fan enoarme folumes fan organisearre, semy-strukturearre en net-strukturearre gegevens oer commodity-hardwareklusters.
- HDFS - HDFS (Hadoop Distributed File System) is in Hadoop-ramtkomponint dat gegevens opslacht en ferwurket. It is in fouttolerant bestânsysteem dat rint op standert hardware
Ferskillende subprojekten (ark) yn it Hadoop-ekosysteem, ynklusyf Sqoop, Pig, en Hive, wurde brûkt om Hadoop-modules te helpen.
- Hive - Hive is in ramt foar it skriuwen fan skripts yn SQL-styl dy't MapReduce-berekkeningen útfiere.
- Baarch - Pig is in prosedurele programmeartaal dy't kin wurde brûkt om in skript te meitsjen foar MapReduce-prosessen.
- Skoop - Sqoop is in ark foar it ymportearjen en eksportearjen fan gegevens tusken HDFS en RDBMS.
Wat is Apache Hive?
Apache Hive is in iepen boarne data warehouse programma foar lêzen, skriuwen en behearen fan enoarme gegevenssets direkt opslein yn it Apache Hadoop Distributed File System (HDFS) of oare gegevensopslachsystemen lykas Apache HBase.
SQL-ûntwikkelders kinne Hive brûke om Hive Query Language (HQL) útspraken te meitsjen foar gegevensfragen en analyse dy't fergelykber binne mei reguliere SQL-útspraken. It is makke om MapReduce-programmearring makliker te meitsjen troch it eliminearjen fan de needsaak om lange Java-koade te learen en te skriuwen. Ynstee dêrfan kinne jo jo fragen skriuwe yn HQL, en Hive sil de kaart bouwe en de funksjes foar jo ferminderje.
De SQL-like ynterface fan Apache Hive is de Gold Standard wurden foar it útfieren fan ad-hoc sykopdrachten, gearfetting en analysearjen fan Hadoop-gegevens. As opnommen yn wolk kompjûternetwurken, Dizze oplossing is benammen kosten-effektyf en skalberber, dat is wêrom in protte bedriuwen, ynklusyf Netflix en Amazon, trochgean mei it ûntwikkeljen en ferbetterjen fan Apache Hive.
Skiednis
Yn har tiid by Facebook makken Joydeep Sen Sarma en Ashish Thusoo Apache Hive tegearre. Se erkende beide dat se wat frij komplisearre Java Map-Reduce-taken soene meitsje om it measte út Hadoop te heljen. Se erkende dat se har rap útwreidzjende yngenieur- en analytyske teams net soene kinne opliede oer de feardigens dy't se nedich binne om Hadoop yn it heule bedriuw te benutten. Yngenieurs en analysten brûkten faak SQL as brûkersynterface.
Hoewol SQL koe foldwaan oan 'e mearderheid fan analytyske behoeften, wiene de ûntwikkelders ek fan doel de programmearberens fan Hadoop op te nimmen. Apache Hive is ûntstien út dizze twa doelstellingen: in SQL-basearre deklarative taal dy't ek ûntwikkelders yn steat stelde om har eigen skripts en programma's yn te bringen as SQL net genôch wie.
It waard ek ûntwikkele om sintralisearre metadata (Hadoop-basearre) te hâlden oer alle datasets yn it bedriuw om de bou fan data-oandreaune organisaasjes makliker te meitsjen.
Hoe wurket Apache Hive?
Yn in notedop konvertearret Apache Hive in ynfierprogramma skreaun yn 'e HiveQL (SQL-like) taal yn ien of mear Java MapReduce, Tez, of Spark taken. (Al dizze útfieringsmotoren binne kompatibel mei Hadoop YARN.) Dêrnei regelet Apache Hive de gegevens yn tabellen foar it Hadoop Distributed File System HDFS) en fiert de taken op in kluster om in antwurd te krijen.
Data
De Apache Hive-tabellen wurde op deselde manier arranzjearre as tabellen yn in relasjonele databank wurde organisearre, mei gegevens-ienheden fariearjend yn grutte fan grutter oant lytser. Databanken binne opboud út tabellen dy't ferdield binne yn divyzjes, dy't fierder ferdield binne yn bakken. HiveQL (Hive Query Language) wurdt brûkt om tagong te krijen ta de gegevens, dy't kinne wurde feroare of taheakke. Tabelgegevens wurde serialisearre binnen elke databank, en elke tabel hat syn eigen HDFS-map.
Boukunde
No sille wy prate oer it wichtichste aspekt fan Hive Architecture. De komponinten fan Apache Hive binne as folgjend:
Metastore - It hâldt ynformaasje oer elke tabel by, lykas syn struktuer en lokaasje. De partition metadata is ek opnommen yn Hive. Hjirmei kin de bestjoerder de fuortgong fan ferskate gegevenssets ferspraat oer it kluster byhâlde. De gegevens wurde opslein yn in konvinsjonele RDBMS-formaat. Hive-metadata is ekstreem wichtich foar de bestjoerder om de gegevens by te hâlden. De reservekopytsjinner duplikearret gegevens op in reguliere basis, sadat it kin wurde hersteld yn gefal fan gegevensferlies.
Sjauffeur - HiveQL-útspraken wurde ûntfongen troch in bestjoerder, dy't funksjonearret as in controller. Troch sesjes te fêstigjen, begjint de bestjoerder de útfiering fan 'e ferklearring. It hâldt de libbensdoer en foarútgong fan 'e útfierende by. Tidens de útfiering fan in HiveQL-ferklearring bewarret de bestjoerder de fereaske metadata. It tsjinnet ek as sammelpunt foar gegevens as resultaat fan query's nei it ferminderjenproses.
Compiler - It útfiert de kompilaasje fan HiveQL-query. De query is no omboud ta in útfieringsplan. De taken steane yn it plan. It omfettet ek de stappen dy't MapReduce moat nimme om it resultaat te krijen lykas oerset troch de query. De query wurdt omboud ta in abstrakte syntaksisbeam troch de kompilator fan Hive (AST). Konvertearret de AST nei in rjochte acyclyske grafyk nei it kontrolearjen fan kompatibiliteit en kompilaasjetiidfout (DAG).
Optimizer - It optimalisearret DAG troch ferskate feroarings út te fieren op it útfieringsplan. It kombineart transformaasjes foar ferbettere effisjinsje, lykas it feroarjen fan in pipeline fan joins yn ien join. Om de snelheid te ferbetterjen, kin de optimizer aktiviteiten diele, lykas it tapassen fan in transformaasje op gegevens foardat jo in reduksjeoperaasje útfiere.
Eksekuteur - De útfierer rint de taken út as de kompilaasje en optimalisaasje klear binne. De wurksumheden wurde troch de Eksekuteur útstjoerd.
CLI, UI, en Thrift Server - De kommandorigelynterface (CLI) is in brûkersynterface wêrmei in eksterne brûker kin kommunisearje mei Hive. De thriftserver fan Hive, fergelykber mei de JDBC- as ODBC-protokollen, lit eksterne kliïnten kommunisearje mei Hive fia in netwurk.
Feiligens
Apache Hive is yntegrearre mei Hadoop-feiligens, dy't Kerberos brûkt foar ûnderlinge autentikaasje fan client-tsjinner. De HDFS diktearret tagongsrjochten foar nij oanmakke bestannen yn Apache Hive, wêrtroch jo kinne goedkarre troch de brûker, groep en oaren.
Key features
- Hive stipet eksterne tabellen, wêrtroch jo gegevens kinne ferwurkje sûnder it yn HDFS op te slaan.
- It makket ek gegevenssegmentaasje op tabelnivo mooglik om snelheid te ferheegjen.
- Apache Hive foldocht poerbêst oan Hadoop's interface-behoefte op leech nivo.
- Hive makket gegevens gearfetting, querying en analyse makliker.
- HiveQL fereasket gjin programmearfeardigens; in ienfâldich begryp fan SQL-fragen is genôch.
- Wy kinne Hive ek brûke om ad-hoc-fragen út te fieren foar gegevensanalyse.
- It is skalberber, fertroud en oanpasber.
- HiveQL fereasket gjin programmearfeardigens; in ienfâldich begryp fan SQL-fragen is genôch.
foardielen
Apache Hive makket it mooglik foar ein-fan-dei rapporten, deistige transaksje evaluaasjes, ad-hoc sykopdrachten, en gegevens analyze. De wiidweidige ynsjoggen levere troch Apache Hive jouwe wichtige konkurrinsjefoardielen en meitsje it makliker foar jo om te reagearjen op merkfragen.
Hjir binne guon fan 'e foardielen fan it hawwen fan sokke ynformaasje maklik beskikber:
- Maklik te brûken - Mei syn SQL-achtige taal is it opfreegjen fan gegevens ienfâldich te begripen.
- Fersnelde gegevensynfoegje - Om't Apache Hive it skema lêst sûnder it tabeltype of skema-definysje te ferifiearjen, hoege gegevens net te lêzen, te parsearjen en te serialisearre op skiif yn it ynterne formaat fan 'e databank. Yn tsjinstelling, yn in konvinsjonele databank moatte gegevens elke kear validearre wurde as se tafoege wurde.
- Superieure skaalberens, fleksibiliteit en kosten-effektiviteit - Om't gegevens wurde opslein yn 'e HDFS, kin Apache Hive 100s fan petabytes oan gegevens hâlde, wêrtroch it in folle mear skalberbere opsje is dan in typyske databank. Apache Hive, as in wolk-basearre Hadoop-tsjinst, lit klanten fluch op en del firtuele servers spinne om te foldwaan oan feroarjende wurkdruk.
- Wiidweidige wurkkapasiteit - Grutte datasets kinne maksimaal 100,000 queries per oere behannelje.
beheinings
- Yn 't algemien hawwe Apache Hive-fragen heul hege latency.
- Subquery-stipe is beheind.
- Echte-tiidfragen en wizigingen op rigelnivo binne net beskikber yn Apache Hive.
- D'r is gjin stipe foar materialisearre werjeften.
- Yn 'e korf wurde aksjes bywurkje en wiskje net stipe.
- Net bedoeld foar OLTP (online oergongsproses).
Te begjinnen mei Apache Hive
Apache Hive is in sterke Hadoop-partner dy't jo workflows ferienfâldiget en streamlines. Om it measte út Apache Hive te heljen, is naadleaze yntegraasje essensjeel. De earste stap is om te gean nei de website.
1. Ynstallaasje Hive út in stabile Release
Begjin mei it downloaden fan de meast resinte stabile release fan Hive fan ien fan 'e Apache-downloadspegels (sjoch Hive Releases). De tarball moat dan útpakt wurde. Dit sil in submap oanmeitsje mei de namme hive-xyz (wêr't xyz it releasenûmer is):
Stel de omjouwingsfariabele HIVE_HOME yn om nei de ynstallaasjemap te wizen:
As lêste, foegje $HIVE_HOME/bin ta oan jo PATH
:
2. Running Hive
Hive brûkt Hadoop, dus:
- jo moatte Hadoop yn jo paad hawwe OF
3. DLL Operaasje
It meitsjen fan Hive Tabel
genereart in tabel mei de namme pokes mei twa kolommen, wêrfan de earste in hiel getal is en de twadde wêrfan in tekenrige is.
Blêdzje troch tabellen
Listing Alle tabellen
Tafels feroarje en falle
Tabelnammen kinne wizige wurde en kolommen kinne wurde tafoege of ferfongen:
It is de muoite wurdich op te merken dat REPLACE COLUMNS alle besteande kolommen ferfangt, wylst allinich de struktuer fan 'e tabel feroaret en net de gegevens. In native SerDe moat brûkt wurde yn 'e tabel. KOLOMMEN REPLACE kinne ek brûkt wurde om kolommen út it skema fan in tabel te ferwiderjen:
Tafels falle
D'r binne in protte ekstra operaasjes en funksjes yn Apache Hive wêr't jo oer kinne leare troch de offisjele webside te besykjen.
Konklúzje
Hive-definysje is in gegevensprogramma-ynterface foar query en analyse foar enoarme datasets dy't boppe op Apache Hadoop binne boud. Professionals kieze it boppe oare programma's, ark en software, om't it benammen is ûntworpen foar Hive wiidweidige gegevens en is ienfâldich te brûken.
Hoopje dat dit tutorial jo helpt te kickstarten mei Apache Hive en jo workflows effisjinter te meitsjen. Lit it ús witte yn 'e kommentaren.
Leave a Reply