Table of Contents[Veşartin][Rêdan]
Hive di karsaziyê de amûrek Analîtîka Daneyên Mezin a ku bi berfirehî tê bikar anîn e, û heke hûn di Daneyên Mezin de nû ne ji bo destpêkirinê cîhek fantastîk e. Ev dersa Apache Hive di bingehên Apache Hive de derbas dibe, çima hêlînek pêdivî ye, taybetmendiyên wê, û her tiştê din ku divê hûn zanibin.
Werin em pêşî çarçoweya Hadoop-ê ya ku Apache Hive li ser hatî çêkirin fam bikin.
Apache Hadoop
Apache Hadoop belaş e û vekirî platformek ji bo hilanîn û hilberandina danehevên mezin ên bi mezinahî ji gigabytes heya petabytes. Hadoop destûrê dide komkirina gelek komputeran ku berhevokên daneya mezin bi paralelî analîz bikin, li şûna ku pêdivî bi yek komputerek mezin hebe ku daneyan hilîne û analîz bike.
MapReduce û Pergala Pelê Dabeşkirî Hadoop du hêman in:
- MapReduce - MapReduce teknolojiyek bernamesaziya paralel e ku ji bo berhevkirina cildên mezin ên daneyên organîze, nîv-sazkirî û nesazkirî yên li ser komikên hardware yên kelûmelê ye.
- HDFS - HDFS (Pergala Pelê Belavkirî Hadoop) pêkhateyek çarçoveyek Hadoop e ku daneyan hilîne û pêvajo dike. Ew pergalek pelê-tolerant e ku li ser hardware standard dimeşîne
Di ekosîstema Hadoop de bine-projeyên (alavên) cihêreng, di nav de Sqoop, Pig, û Hive, ji bo arîkariya modulên Hadoop têne bikar anîn.
- Hive - Hive çarçoveyek ji bo nivîsandina nivîsên bi şêwaza SQL ye ku hesabên MapReduce pêk tîne.
- Beraz - Pig zimanek bernamesazkirina prosedurî ye ku dibe ku ji bo çêkirina skrîptek ji bo pêvajoyên MapReduce were bikar anîn.
- Sqoop - Sqoop amûrek e ku di navbera HDFS û RDBMS de dane û hinarde dike.
Çi ye Apache Hive?
Apache Hive çavkaniyek vekirî ye daneyên daneyên bernameyek ji bo xwendin, nivîsandin û birêvebirina daneyên mezin ên ku rasterast di Pergala Pelê Dabeşkirî ya Apache Hadoop (HDFS) an pergalên hilanîna daneyên din ên mîna Apache HBase de têne hilanîn.
Pêşdebirên SQL dikarin Hive bikar bînin da ku daxuyaniyên Hive Query Language (HQL) ji bo pirs û analîzên daneyê yên ku bi daxuyaniyên SQL-ya birêkûpêk re têne berhev kirin biafirînin. Ew hate afirandin ku ji hêla rakirina hewcedariya fêrbûn û nivîsandina koda Java-ya dirêj ve bernameya MapReduce hêsantir bike. Di şûna wê de, hûn dikarin pirsên xwe di HQL de binivîsin, û Hive dê nexşeyê ava bike û fonksiyonan ji we re kêm bike.
Navbera SQL-ya Apache Hive ji bo pêkanîna lêgerînên ad-hoc, kurtkirin û analîzkirina daneyên Hadoop-ê bûye Standard Zêrîn. Dema ku di nav ewr de torên kompîturê, ev çareserî bi taybetî lêçûn-bandor û berbelav e, ji ber vê yekê gelek pargîdan, di nav de Netflix û Amazon jî, pêşvebirin û baştirkirina Apache Hive didomînin.
Dîrok
Di dema wan de li Facebookê, Joydeep Sen Sarma û Ashish Thatoo bi hev re Apache Hive ava kirin. Wan herduyan jî nas kir ku ji bo ku herî zêde ji Hadoop sûd werbigirin, ew neçar in ku hin peywirên Java-Nexşeya Kêmkirina tevlihev biafirînin. Wan nas kir ku ew ê nikaribin tîmên xwe yên endezyarî û analîtîk ên ku bi lez berfireh dibin li ser jêhatîyên ku ew hewce ne ku Hadoop li seranserê pargîdaniyê bikar bînin perwerde bikin. Endezyar û analîstan bi gelemperî SQL wekî navgînek bikarhêner bikar tînin.
Dema ku SQL dikaribû piraniya hewcedariyên analîtîk bicîh bîne, pêşdebiran di heman demê de mebesta ku bernamesaziya Hadoop jî tev bigerin. Apache Hive ji van her du armancan derket: Zimanek daxuyani-based SQL ku di heman demê de rê da pêşdebiran ku dema ku SQL têrê nake nivîs û bernameyên xwe bînin.
Di heman demê de ew hate pêşve xistin da ku metadaneyên navendîkirî (li ser Hadoop-ê) li ser hemî daneyên pargîdaniyê bigire da ku avakirina rêxistinên dane-rêveber hêsantir bike.
Apache Hive çawa dixebite?
Bi kurtasî, Apache Hive bernameyek têketinê ya ku bi zimanê HiveQL (wek SQL) hatî nivîsandin vediguherîne yek an çend karên Java MapReduce, Tez, an Spark. (Hemû van motorên darvekirinê bi Hadoop YARN-ê re hevaheng in.) Piştî wê, Apache Hive daneyan ji bo Pergala Pelê Berhevkirî ya Hadoop HDFS di tabloyan de rêz dike) û peywiran li ser komekê pêk tîne da ku bersivek bistîne.
Jimare
Tabloyên Apache Hive bi heman rengî têne saz kirin ku tabloyên di databasek pêwendiyê de têne organîze kirin, digel ku yekîneyên daneyê ji mezinbûnê heya piçûktir diguhezin. Database ji tabloyên ku di nav dabeşan de têne dabeş kirin, ku bêtir di nav kepçeyan de têne dabeş kirin têne çêkirin. HiveQL (Zimanê Query Hive) tê bikar anîn da ku bigihîje daneyan, ku dikarin werin guhertin an pêvekirin. Daneyên tabloyê di nav her databasê de serialîzekirî ye, û her tablo pelrêça xweya HDFS heye.
avakarî
Naha em ê li ser beşa herî girîng a Mîmariya Hive biaxivin. Parçeyên Apache Hive wiha ne:
Metastore - Ew agahdariya li ser her tabloyê, wekî avahî û cîhê wê, dişopîne. Metadata dabeşkirinê bi heman rengî di Hive de tête navandin. Ev dihêle ku ajoker bişopîne pêşveçûna daneyên cûda yên ku li seranserê komê belav bûne. Daneyên di forma kevneşopî ya RDBMS de têne tomar kirin. Metadata Hive ji bo ajoker ji bo şopandina daneyan pir girîng e. Pêşkêşkara hilanînê bi rêkûpêk daneyan dubare dike da ku di bûyera windabûna daneyê de were vegerandin.
Ajotvan - Daxuyaniyên HiveQL ji hêla ajokerek ve têne wergirtin, ku wekî kontrolker kar dike. Bi sazkirina danişînan, ajokar pêkanîna daxuyaniyê dide destpêkirin. Ew jiyan û pêşkeftina rêveberiyê dişopîne. Di dema pêkanîna daxuyaniyek HiveQL de, ajoker metadataya pêwîst diparêze. Di heman demê de ew wekî xalek berhevkirina daneya an pirsê ya li dû pêvajoya Kêmkirinê jî kar dike.
Berhevkar - Ew berhevkirina pirsa HiveQL dimeşîne. Pirs niha veguherî plansaziyek darvekirinê. Karên di planê de têne navnîş kirin. Di heman demê de ew gavên ku divê MapReduce bavêje jî dihewîne da ku encama ku ji hêla pirsê ve hatî wergerandin bi dest bixe. Pirs ji hêla berhevkarê Hive's (AST) ve vediguhere Darek Hevoksaziya Abstract. Piştî ku lihevhatinî û xeletiyên dema berhevkirinê (DAG) kontrol dike, AST-ê vediguhezîne Grafikek Aciklîk a Rêvebir.
Optimizer - Ew bi pêkanîna guhertinên cihêreng ên li ser plansaziya darvekirinê DAG xweş dike. Ew veguheztinan ji bo berevpêşbirina çêtir pêk tîne, wek mînak zivirandina boriyek tevlêbûnê di yek tevlêbûnê de. Ji bo baştirkirina lezê, optimîzator dikare çalakiyan dabeş bike, wek mînak sepandina veguherînek li daneyan berî ku operasyonek kêmkirinê pêk bîne.
Eccrakar - Dema ku berhevkirin û xweşbînkirin qediyan îcrakar karan dimeşîne. Kar bi boriyan ji aliyê Îcrayê ve têne kirin.
CLI, UI, û Pêşkêşkara Thrift - Navbera rêza fermanê (CLI) navgînek bikarhênerek e ku dihêle bikarhênerek derveyî bi Hive re têkiliyê deyne. Pêşkêşkara thrift ya Hive, mîna protokolên JDBC an ODBC, dihêle ku xerîdarên derveyî bi riya torgilokê bi Hive re têkilî daynin.
Ewlekarî
Apache Hive bi ewlehiya Hadoop re yekgirtî ye, ku Kerberos ji bo rastkirina hevdu muwekîlê-server bikar tîne. HDFS ji bo pelên ku nû hatine hilberandin li Apache Hive destûr dide, ku dihêle hûn ji hêla bikarhêner, kom û yên din ve bipejirînin.
Key features
- Hive tabloyên derveyî piştgirî dike, ku dihêle hûn daneyan bêyî hilanîna wê di HDFS de hilînin.
- Di heman demê de ew dabeşkirina daneyê di asta tabloyê de dihêle ku lezê zêde bike.
- Apache Hive pêdiviya pêwendiya nizm a Hadoop-ê bi rengek xweş peyda dike.
- Hive kurtkirina daneyan, pirskirin, û analîzê hêsantir dike.
- HiveQL tu jêhatîbûna bernamekirinê hewce nake; têgihîştina sade ya pirsên SQL bes e.
- Di heman demê de em dikarin Hive bikar bînin da ku ji bo analîzkirina daneyan pirsên ad-hoc pêk bînin.
- Ew pîvan, naskirî û adaptable e.
- HiveQL tu jêhatîbûna bernamekirinê hewce nake; têgihîştina sade ya pirsên SQL bes e.
Alîkariyên
Apache Hive destûrê dide raporên dawiya rojê, nirxandinên danûstendinê yên rojane, lêgerînên ad-hoc, û analîzkirina daneyê. Nêrînên berfireh ên ku ji hêla Apache Hive ve têne peyda kirin avantajên pêşbaziyê yên girîng didin û ji we re hêsantir dike ku hûn bersivê bidin daxwazên bazarê.
Li vir hin feydeyên ku agahdariya weha bi hêsanî peyda dibin hene:
- Gel bikaranîna - Bi zimanê xwe yê mîna SQL-ê, lêpirsîna daneyan hêsan e ku meriv fêm bike.
- Têxistina daneya bilez - Ji ber ku Apache Hive şêmê dixwîne bêyî verastkirina celebê tabloyê an pênaseya şemayê, ne pêdivî ye ku dane li ser dîskê di forma hundurîn a databasê de werin xwendin, parkirin û serialîzekirin. Berevajî vê, di databasek kevneşopî de, her gava ku ew lê zêde dibe divê data were pejirandin.
- Mezinbûn, nermbûn, û lêçûn-bandoriya bilind - Ji ber ku dane di HDFS-ê de têne hilanîn, Apache Hive dikare 100 petabytes daneyan bigire, ku ew ji databasek tîpîk vebijarkek pir berbelavtir dike. Apache Hive, wekî karûbarek Hadoop-ya cloud-ê, dihêle xerîdar bi lez û bez serverên virtual jor û dakevin da ku bi guheztina barkêşên xebatê re hevdîtin pêk bînin.
- Kapasîteya xebatê ya berfireh - Daneyên mezin dikarin di saetekê de heya 100,000 pirsan çareser bikin.
tengasîyên
- Bi gelemperî, pirsên Apache Hive derengiya pir zêde heye.
- Piştgiriya Subquery bi sînor e.
- Pirsên-dema rast û guhertinên asta rêzê di Apache Hive de nîn in.
- Ji bo dîtinên maddî piştgirî tune.
- Di hêlînê de, çalakiyên nûvekirin û jêbirinê nayê piştgirî kirin.
- Ji bo OLTP (pêvajoya veguheztina serhêl) nayê armanc kirin.
Bi Apache Hive re dest pê kirin
Apache Hive hevkariyek bihêz a Hadoop-ê ye ku karûbarên we hêsan û asan dike. Ji bo ku herî zêde ji Apache Hive sûd werbigirin, entegrasyona bêkêmasî pêdivî ye. Gava yekem ev e ku meriv biçe malpera.
1. Sazkirina Hive ji Release Stable
Dest bi dakêşana serbestberdana herî paşîn a Hive ji yek ji neynikên dakêşana Apache bikin (binêre Hive Releases). Dûv re divê tarball bê pakkirin. Ev ê jêrpeldankek bi navê hive-xyz biafirîne (ku xyz jimareya berdanê ye):
Guherbara jîngehê HIVE_HOME destnîşan bike ku pelrêça sazkirinê nîşan bide:
Di dawiyê de, $HIVE_HOME/bin li xwe zêde bikin PATH
:
2. Bezandina Hive
Hive Hadoop bikar tîne, ji ber vê yekê:
- divê hûn Hadoop di riya we de OR
3. Operasyona DLL
Afirandina Tabloya Hive
bi du stûnan tabloyek bi navê pokes çêdike, ya yekem jimareyek û ya duyemîn jî rêzek e.
Li ser Tabloyan digerin
Lîsteya Hemî Tabloyan
Guhertin û Daxistina Tabloyan
Navên tabloyê dikarin werin guhertin û stûn dikarin bêne zêdekirin an li şûna wan:
Hêjayî gotinê ye ku REPLACE COLUMNS hemî stûnên heyî diguhezîne dema ku tenê avahiya tabloyê diguhezîne û ne daneyê. Divê di tabloyê de SerDe-ya xwemalî were bikar anîn. COLUMNS REPLACE di heman demê de dikare were bikar anîn da ku stûnan ji şemaya tabloyek jêbirin:
Tabloyên avêtinê
Di Apache Hive de gelek operasyon û taybetmendiyên din hene ku hûn dikarin bi serdana malpera fermî fêr bibin.
Xelasî
Danasîna Hive navbeynkarek bernameyek daneyê ye ji bo pirskirin û analîzkirina ji bo daneyên mezin ên ku li ser Apache Hadoop hatine çêkirin. Pispor wê li ser bername, amûr û nermalava din hilbijêrin ji ber ku ew bi gelemperî ji bo daneyên berfireh Hive hatî çêkirin û karanîna wê hêsan e.
Hêvîdarim ku ev tutorial ji we re dibe alîkar ku hûn bi Apache Hive re dest pê bikin û xebata xwe bikêrtir bikin. Di şîroveyan de ji me re agahdar bikin.
Leave a Reply