Hive hija għodda tal-Big Data Analytics użata ħafna fin-negozju, u huwa post meraviljuż fejn tibda jekk int ġdid il-Big Data. Din il-lezzjoni ta 'Apache Hive tgħaddi mill-prinċipji fundamentali ta' Apache Hive, għaliex doqqajs huwa meħtieġ, il-karatteristiċi tiegħu, u kull ħaġa oħra li għandek tkun taf.
Ejja l-ewwel nifhmu l-qafas Hadoop li fuqu huwa mibni Apache Hive.
Apache Hadoop
Apache Hadoop huwa b'xejn u open-source pjattaforma għall-ħażna u l-ipproċessar ta’ settijiet ta’ dejta kbar li jvarjaw fid-daqs minn gigabytes għal petabytes. Hadoop jippermetti li jiġbru flimkien bosta kompjuters biex janalizzaw settijiet ta' dejta enormi b'mod parallel, aktar milli jeħtieġ kompjuter kbir wieħed biex jaħżen u janalizza d-dejta.
MapReduce u Hadoop Distributed File System huma tnejn mill-komponenti:
- MapReduce – MapReduce hija teknika ta’ programmazzjoni parallela għall-immaniġġjar ta’ volumi kbar ta’ data organizzata, semi-strutturata u mhux strutturata fuq clusters ta’ ħardwer tal-komoditajiet.
- HDFS – HDFS (Hadoop Distributed File System) huwa komponent tal-qafas Hadoop li jaħżen u jipproċessa d-dejta. Hija sistema ta 'fajls li tollera l-ħsarat li taħdem fuq ħardwer standard
Sottoproġetti (għodod) differenti fl-ekosistema Hadoop, inklużi Sqoop, Pig, u Hive, huma użati biex jgħinu lill-moduli Hadoop.
- Doqqajs – Hive huwa qafas għall-kitba ta 'skripts ta' stil SQL li jwettqu komputazzjonijiet MapReduce.
- majjal – Pig hija lingwa ta' programmar proċedurali li tista' tintuża biex toħloq skript għall-proċessi MapReduce.
- Sqoop – Sqoop hija għodda għall-importazzjoni u l-esportazzjoni tad-dejta bejn HDFS u RDBMS.
X'inhu Doqqajs Apache?
Apache Hive huwa open-source data warehouse programm għall-qari, il-kitba, u l-ġestjoni ta’ settijiet ta’ dejta enormi maħżuna direttament fis-Sistema ta’ Fajl Distribut Apache Hadoop (HDFS) jew sistemi oħra ta’ ħażna ta’ dejta bħal Apache HBase.
L-iżviluppaturi SQL jistgħu jużaw Hive biex joħolqu dikjarazzjonijiet Hive Query Language (HQL) għal mistoqsija u analiżi tad-dejta li huma komparabbli ma 'dikjarazzjonijiet SQL regolari. Inħoloq biex jagħmel l-ipprogrammar MapReduce aktar faċli billi jelimina l-ħtieġa li titgħallem u tikteb kodiċi Java twil. Minflok, tista 'tikteb il-mistoqsijiet tiegħek f'HQL, u Hive jibni l-mappa u jnaqqas il-funzjonijiet għalik.
L-interface bħal SQL ta 'Apache Hive saret l-Istandard tad-Deheb għat-twettiq ta' tfittxijiet ad hoc, sommarju, u analiżi tad-dejta Hadoop. Meta inkluż fis-sħab netwerks tal-kompjuters, Din is-soluzzjoni hija speċjalment kosteffettiva u skalabbli, u huwa għalhekk li ħafna ditti, inklużi Netflix u Amazon, ikomplu jiżviluppaw u jtejbu Apache Hive.
storja
Matul iż-żmien tagħhom fuq Facebook, Joydeep Sen Sarma u Ashish Thusoo ħolqu flimkien Apache Hive. It-tnejn li huma għarfu li biex jiksbu l-aħjar minn Hadoop, ikollhom joħolqu xi kompiti pjuttost ikkumplikati Java Map-Reduce. Huma rrikonoxxew li ma jkunux jistgħu jedukaw it-timijiet tagħhom ta 'inġinerija u analitiċi li qed jespandu b'mod mgħaġġel dwar il-ħiliet li jkollhom bżonn biex jisfruttaw Hadoop madwar il-kumpanija. L-inġiniera u l-analisti ta' spiss użaw l-SQL bħala interface għall-utent.
Filwaqt li l-SQL jista 'jissodisfa l-maġġoranza tal-ħtiġijiet analitiċi, l-iżviluppaturi kellhom ukoll l-intenzjoni li jinkorporaw il-programmabbiltà ta' Hadoop. Apache Hive ħarġet minn dawn iż-żewġ għanijiet: lingwa dikjarattiva bbażata fuq SQL li ppermettiet ukoll lill-iżviluppaturi biex idaħħlu l-iskripts u l-programmi tagħhom stess meta l-SQL ma kienx biżżejjed.
Ġie żviluppat ukoll biex iżomm metadejta ċentralizzata (ibbażata fuq Hadoop) dwar is-settijiet tad-dejta kollha fil-kumpanija biex tagħmel il-kostruzzjoni ta 'organizzazzjonijiet immexxija mid-dejta aktar faċli.
Kif jaħdem Apache Hive?
Fil-qosor, Apache Hive jikkonverti programm ta 'input miktub fil-lingwa HiveQL (bħal SQL) f'ħidma waħda jew aktar ta' Java MapReduce, Tez, jew Spark. (Dawn il-magni ta 'eżekuzzjoni kollha huma kompatibbli ma' Hadoop YARN.) Wara dan, Apache Hive jirranġa d-dejta f'tabelli għas-Sistema ta 'Fajl Imqassam Hadoop HDFS) u twettaq il-kompiti fuq cluster biex tikseb tweġiba.
Data
It-tabelli Apache Hive huma rranġati bl-istess mod kif huma organizzati tabelli f'database relazzjonali, b'unitajiet ta 'dejta li jvarjaw fid-daqs minn akbar għal iżgħar. Id-databases huma magħmula minn tabelli li huma maqsuma f'diviżjonijiet, li huma aktar maqsuma f'bramel. HiveQL (Hive Query Language) tintuża biex taċċessa d-dejta, li tista’ tiġi mibdula jew mehmuża. Id-dejta tat-tabella hija serializzata f'kull database, u kull tabella għandha direttorju HDFS tagħha stess.
arkitettura
Issa ser nitkellmu dwar l-aktar aspett importanti tal-Arkitettura Doqqajs. Il-komponenti ta 'Apache Hive huma kif ġej:
Metastore — Hija żżomm rekord ta 'informazzjoni dwar kull tabella, bħall-istruttura u l-post tagħha. Il-metadejta tal-partizzjoni hija wkoll inkluża f'Hive. Dan jippermetti lis-sewwieq iżomm rekord tal-progress ta' settijiet ta' dejta differenti mifruxa mal-cluster. Id-data hija maħżuna f'format RDBMS konvenzjonali. Il-metadejta tal-doqqajs hija estremament importanti għas-sewwieq biex iżomm rekord tad-dejta. Is-server tal-backup jidduplika d-data fuq bażi regolari sabiex tkun tista’ tiġi rkuprata fil-każ ta’ telf ta’ data.
Sewwieq – Id-dikjarazzjonijiet HiveQL jiġu riċevuti minn sewwieq, li jiffunzjona bħala kontrollur. Billi jistabbilixxi sessjonijiet, is-sewwieq jibda l-eżekuzzjoni tad-dikjarazzjoni. Hija żżomm kont tal-ħajja u l-progress tal-eżekuttiv. Matul l-eżekuzzjoni ta 'dikjarazzjoni HiveQL, is-sewwieq jiffranka l-metadejta meħtieġa. Isservi wkoll bħala punt ta' ġbir ta' dejta jew riżultat ta' mistoqsija wara l-proċess Reduce.
Kompilatur – Tesegwixxi l-kumpilazzjoni tal-mistoqsijiet HiveQL. Il-mistoqsija issa hija kkonvertita fi pjan ta 'eżekuzzjoni. Il-kompiti huma elenkati fil-pjan. Jinkludi wkoll il-passi li MapReduce trid tieħu biex tikseb ir-riżultat kif tradott mill-mistoqsija. Il-mistoqsija hija kkonvertita għal Siġra tas-Sintassi Astratta mill-kompilatur ta' Hive (AST). Jikkonverti l-AST għal Grafika Aċiklika Diretta wara li tiċċekkja l-kompatibbiltà u l-ħsarat fil-ħin tal-kompilazzjoni (DAG).
Ottimizzatur – Jottimizza DAG billi jwettaq bidliet differenti fuq il-pjan ta 'eżekuzzjoni. Tgħaqqad it-trasformazzjonijiet għal effiċjenza mtejba, bħal tidwir ta 'pipeline ta' tgħaqqid f'unjoni waħda. Biex ittejjeb il-veloċità, l-ottimizzatur jista' jaqsam l-attivitajiet, bħall-applikazzjoni ta' trasformazzjoni għad-dejta qabel ma jwettaq operazzjoni ta' tnaqqis.
Eżekutur – L-eżekutur imexxi l-kompiti meta l-kumpilazzjoni u l-ottimizzazzjoni jkunu lesti. L-impjiegi huma pipelined mill-Eżekutur.
CLI, UI, u Thrift Server – L-interface tal-linja tal-kmand (CLI) hija interface tal-utent li tippermetti lil utent estern jikkomunika ma' Hive. Is-server thrift ta' Hive, simili għall-protokolli JDBC jew ODBC, jippermetti lill-klijenti esterni jikkomunikaw ma' Hive permezz ta' netwerk.
Sigurtà
Apache Hive huwa integrat mas-sigurtà Hadoop, li juża Kerberos għall-awtentikazzjoni reċiproka klijent-server. L-HDFS jiddetta permessi għal fajls iġġenerati ġodda f'Apache Hive, li jippermettilek tapprova mill-utent, il-grupp, u oħrajn.
Karatteristiċi ewlenin
- Doqqajs jappoġġja tabelli esterni, li jħalluk tipproċessa d-dejta mingħajr ma taħżinha fl-HDFS.
- Jippermetti wkoll is-segmentazzjoni tad-dejta fil-livell tal-mejda biex tiżdied il-veloċità.
- Apache Hive jissodisfa b'mod eċċellenti l-ħtieġa ta 'interface ta' livell baxx ta 'Hadoop.
- Doqqajs jagħmel sommarju tad-dejta, mistoqsijiet, u analiżi aktar faċli.
- HiveQL ma teħtieġ l-ebda ħiliet ta 'programmar; fehim sempliċi tal-mistoqsijiet SQL huwa biżżejjed.
- Nistgħu wkoll nużaw Hive biex inwettqu mistoqsijiet ad hoc għall-analiżi tad-dejta.
- Huwa skalabbli, familjari, u adattabbli.
- HiveQL ma teħtieġ l-ebda ħiliet ta 'programmar; fehim sempliċi tal-mistoqsijiet SQL huwa biżżejjed.
benefiċċji
Apache Hive jippermetti rapporti ta 'tmiem il-ġurnata, evalwazzjonijiet ta' tranżazzjonijiet ta 'kuljum, tfittxijiet ad hoc, u analiżi tad-dejta. L-għarfien komprensiv ipprovdut minn Apache Hive jagħti vantaġġi kompetittivi sinifikanti u jagħmilha aktar faċli għalik biex tirrispondi għad-domandi tas-suq.
Hawn huma xi wħud mill-benefiċċji li jkollok tali informazzjoni disponibbli fil-pront:
- Faċilità ta 'użu – Bil-lingwa tiegħu bħal SQL, l-istħarriġ tad-dejta huwa sempliċi biex jinftiehem.
- Inserzjoni aċċellerata tad-dejta — Minħabba li Apache Hive jaqra l-iskema mingħajr ma jivverifika t-tip tal-mejda jew id-definizzjoni tal-iskema, id-dejta m'għandhiex għalfejn tinqara, parsed, u serialized fuq diska fil-format intern tad-database. B'kuntrast, f'database konvenzjonali, id-dejta trid tiġi vvalidata kull darba li tiżdied.
- Skalabbiltà superjuri, flessibilità, u kosteffettività – Minħabba li d-dejta hija maħżuna fl-HDFS, Apache Hive jista 'jżomm 100s ta' petabytes ta 'dejta, li jagħmilha għażla ferm aktar skalabbli minn database tipika. Apache Hive, bħala servizz Hadoop ibbażat fuq il-cloud, jippermetti lill-klijenti jdawru u jduru malajr servers virtwali biex jissodisfaw il-piżijiet tax-xogħol li qed jinbidlu.
- Kapaċità tax-xogħol estensiva – Settijiet ta’ dejta kbar jistgħu jimmaniġġjaw sa 100,000 mistoqsija fis-siegħa.
Limitazzjonijiet
- B'mod ġenerali, il-mistoqsijiet Apache Hive għandhom latenza għolja ħafna.
- L-appoġġ għas-subquery huwa limitat.
- Mistoqsijiet f'ħin reali u bidliet fil-livell ta' ringieli mhumiex disponibbli f'Apache Hive.
- M'hemm l-ebda appoġġ għal fehmiet materjali.
- Fid-doqqajs, l-azzjonijiet ta 'aġġornament u tħassir mhumiex appoġġjati.
- Mhux maħsub għal OLTP (proċess transitorju onlajn).
Nibdew bl-Apache Hive
Apache Hive huwa sieħeb b'saħħtu ta' Hadoop li jissimplifika u jissimplifika l-flussi tax-xogħol tiegħek. Biex tikseb l-aħjar minn Apache Hive, integrazzjoni bla xkiel hija essenzjali. L-ewwel pass huwa li tmur għall- websajt.
1. Installazzjoni Doqqajs minn Rilaxx Stabbli
Ibda billi tniżżel ir-rilaxx stabbli l-aktar riċenti ta' Hive minn waħda mill-mirja tat-tniżżil ta' Apache (ara Ħruġ tad-doqqajs). It-tarball imbagħad irid jiġi żppakkjat. Dan se joħloq subfolder imsejjaħ hive-xyz (fejn xyz huwa n-numru tar-rilaxx):
Issettja l-varjabbli ambjentali HIVE_HOME biex tipponta lejn id-direttorju tal-installazzjoni:
Fl-aħħarnett, żid $HIVE_HOME/bin ma' tiegħek PATH
:
2. Running Doqqajs
Hive juża Hadoop, għalhekk:
- irid ikollok Hadoop fi triqtek JEW
3. Operazzjoni DLL
Ħolqien Tabella Doqqajs
jiġġenera tabella bl-isem pokes b'żewġ kolonni, l-ewwel waħda hija numru sħiħ u t-tieni waħda hija string.
Ibbrawżjar fit-Tabelli
Elenkar tat-Tabelli Kollha
Tibdil u twaqqa' Tabelli
L-ismijiet tat-tabelli jistgħu jinbidlu u l-kolonni jistgħu jiġu miżjuda jew mibdula:
Ta’ min jinnota li REPLACE COLUMNS tissostitwixxi l-kolonni eżistenti kollha filwaqt li tbiddel biss l-istruttura tat-tabella u mhux id-data. SerDe nattiv irid jintuża fit-tabella. SOSTITU KOLONNI jista' jintuża wkoll biex jitneħħew kolonni mill-iskema ta' tabella:
Twaqqif Tabelli
Hemm ħafna operazzjonijiet u karatteristiċi addizzjonali f'Apache Hive li tista' titgħallem dwarhom billi żżur il-websajt uffiċjali.
konklużjoni
Id-definizzjoni tal-doqqajs hija interface tal-programm tad-dejta għal mistoqsijiet u analiżi għal settijiet ta 'dejta kbar li huma mibnija fuq Apache Hadoop. Il-professjonisti jagħżluha fuq programmi, għodod u softwer oħra peress li hija ddisinjata prinċipalment għal dejta estensiva ta’ Hive u hija sempliċi biex tintuża.
Nittama li dan it-tutorja jgħinek tibda b'Apache Hive u tagħmel il-flussi tax-xogħol tiegħek aktar effiċjenti. Għidilna fil-kummenti.
Ħalli Irrispondi