Ang Hive kay kaylap nga gigamit nga tool sa Big Data Analytics sa negosyo, ug kini usa ka nindot nga lugar nga magsugod kung bag-o ka sa Big Data. Kini nga leksyon sa Apache Hive nag-agi sa mga sukaranan sa Apache Hive, ngano nga ang usa ka hive gikinahanglan, ang mga bahin niini, ug ang tanan nga kinahanglan nimong mahibal-an.
Atong sabton una ang Hadoop framework diin gitukod ang Apache Hive.
Apache Hadoop
Ang Apache Hadoop kay libre ug Open-source plataporma alang sa pagtipig ug pagproseso sa dagkong mga dataset gikan sa gigabytes ngadto sa petabytes. Gitugotan sa Hadoop ang pag-cluster sa daghang mga kompyuter sa pag-analisar sa daghang mga dataset nga managsama, imbes nga magkinahanglan usa ka dako nga kompyuter sa pagtipig ug pag-analisar sa datos.
Ang MapReduce ug Hadoop Distributed File System duha sa mga sangkap:
- MapReduce – Ang MapReduce kay usa ka parallel programming technique para sa pagdumala sa dagkong volume sa organisado, semi-structured, ug unstructured data sa commodity hardware clusters.
- HDFS - Ang HDFS (Hadoop Distributed File System) usa ka bahin sa Hadoop framework nga nagtipig ug nagproseso sa datos. Kini usa ka fault-tolerant nga file system nga nagdagan sa standard hardware
Lainlaing mga sub-proyekto (mga himan) sa Hadoop ecosystem, lakip ang Sqoop, Pig, ug Hive, gigamit sa pagtabang sa Hadoop modules.
- Hive - Ang Hive usa ka balangkas alang sa pagsulat sa mga script nga istilo sa SQL nga naghimo sa mga pagkalkula sa MapReduce.
- Pig – Ang baboy usa ka procedural programming language nga mahimong gamiton sa paghimo og script para sa mga proseso sa MapReduce.
- Sqoop - Ang Sqoop usa ka himan alang sa pag-import ug pag-eksport sa datos tali sa HDFS ug RDBMS.
Unsa ang Apache Hive?
Ang Apache Hive usa ka open-source data warehouse programa alang sa pagbasa, pagsulat, ug pagdumala sa dagkong mga set sa datos nga gitipigan direkta sa Apache Hadoop Distributed File System (HDFS) o ubang mga sistema sa pagtipig sa datos sama sa Apache HBase.
Ang mga developer sa SQL mahimong mogamit sa Hive sa paghimo og Hive Query Language (HQL) nga mga pahayag alang sa data query ug pagtuki nga ikatandi sa regular nga SQL nga mga pahayag. Gibuhat kini aron mapadali ang pagprograma sa MapReduce pinaagi sa pagwagtang sa panginahanglan sa pagkat-on ug pagsulat sa taas nga Java code. Hinuon, mahimo nimong isulat ang imong mga pangutana sa HQL, ug ang Hive maghimo sa mapa ug makunhuran ang mga gimbuhaton alang kanimo.
Ang interface nga sama sa SQL sa Apache Hive nahimong Gold Standard alang sa paghimo sa ad-hoc nga pagpangita, pag-summarize, ug pag-analisar sa datos sa Hadoop. Kung naapil sa panganod mga network sa kompyuter, kini nga solusyon ilabi na nga cost-effective ug scalable, mao nga daghang mga kompaniya, lakip ang Netflix ug Amazon, nagpadayon sa pagpalambo ug pagpalambo sa Apache Hive.
Kasaysayan
Sa ilang panahon sa Facebook, si Joydeep Sen Sarma ug Ashish Thusoo nag-co-create sa Apache Hive. Silang duha nakaila nga aron makuha ang labing kaayo sa Hadoop, kinahanglan silang maghimo ug pipila ka komplikado nga Java Map-Reduce nga mga buluhaton. Nahibal-an nila nga dili nila ma-edukar ang ilang paspas nga pagpalapad sa engineering ug analytic nga mga koponan sa mga kahanas nga kinahanglan nila aron magamit ang Hadoop sa tibuuk nga kompanya. Ang mga inhenyero ug analista kanunay nga naggamit sa SQL ingon usa ka interface sa gumagamit.
Samtang matubag sa SQL ang kadaghanan sa mga panginahanglanon sa analytics, gituyo usab sa mga developer nga ilakip ang pagkaprograma sa Hadoop. Ang Apache Hive mitumaw gikan niining duha ka mga tumong: usa ka SQL-based nga deklaratibo nga pinulongan nga nakapahimo usab sa mga developers sa pagdala sa ilang kaugalingong mga script ug mga programa kung ang SQL dili igo.
Gipalambo usab kini aron maghupot sa sentralisadong metadata (Hadoop-based) mahitungod sa tanang mga datasets sa kompanya aron mas sayon ang pagtukod sa mga organisasyon nga gipadagan sa datos.
Giunsa pagtrabaho ang Apache Hive?
Sa laktod nga pagkasulti, gi-convert sa Apache Hive ang input program nga gisulat sa HiveQL (SQL-like) nga lengguwahe ngadto sa usa o daghan pa nga Java MapReduce, Tez, o Spark nga buluhaton. (Ang tanan niini nga mga makina sa pagpatuman nahiuyon sa Hadoop YARN.) Human niana, ang Apache Hive naghan-ay sa datos ngadto sa mga lamesa alang sa Hadoop Distributed File System HDFS) ug naghimo sa mga buluhaton sa usa ka cluster aron makakuha og tubag.
Data
Ang mga lamesa sa Apache Hive gihan-ay sa samang paagi sa pag-organisar sa mga lamesa sa usa ka relational database, nga adunay mga yunit sa datos gikan sa dako ngadto sa mas gamay. Ang mga database gilangkoban sa mga lamesa nga gibahin ngadto sa mga dibisyon, nga dugang gibahin ngadto sa mga balde. Ang HiveQL (Hive Query Language) gigamit sa pag-access sa datos, nga mahimong usbon o idugang. Ang datos sa lamesa gi-serialize sulod sa matag database, ug ang matag lamesa adunay kaugalingong HDFS nga direktoryo.
arkitektura
Karon maghisgot kami bahin sa labing hinungdanon nga aspeto sa Arkitektura sa Hive. Ang mga sangkap sa Apache Hive mao ang mosunod:
Metastore — Gisubay niini ang kasayuran bahin sa matag lamesa, sama sa istruktura ug lokasyon niini. Ang partition metadata gilakip usab sa Hive. Gitugotan niini ang drayber nga masubay ang pag-uswag sa lainlaing mga set sa datos nga mikaylap sa cluster. Ang datos gitipigan sa naandan nga RDBMS format. Ang metadata sa hive hinungdanon kaayo alang sa drayber aron mapadayon ang pagsubay sa datos. Ang backup nga server kanunay nga nagdoble sa datos aron kini mabawi kung adunay pagkawala sa datos.
Driver – Ang mga pahayag sa HiveQL madawat sa usa ka drayber, nga naglihok isip usa ka controller. Pinaagi sa pag-establisar sa mga sesyon, gisugdan sa drayber ang pagpatuman sa pahayag. Kini nagsubay sa gitas-on sa kinabuhi ug pag-uswag sa ehekutibo. Atol sa pagpatuman sa usa ka HiveQL nga pahayag, ang drayber nagtipig sa gikinahanglan nga metadata. Nagsilbi usab kini nga punto sa pagkolekta sa datos o pangutana nga resulta pagkahuman sa proseso sa Reduce.
Tigtipig – Kini nagpatuman sa HiveQL query compilation. Ang pangutana karon nakabig sa usa ka plano sa pagpatuman. Ang mga buluhaton gilista sa plano. Naglakip usab kini sa mga lakang nga kinahanglan buhaton sa MapReduce aron makuha ang resulta ingon gihubad sa pangutana. Ang pangutana gi-convert sa usa ka Abstract Syntax Tree pinaagi sa Hive's compiler (AST). Gi-convert ang AST ngadto sa Directed Acyclic Graph human masusi ang compatibility ug compile-time faults (DAG).
Ang pagkamalaumon - Gi-optimize niini ang DAG pinaagi sa paghimo sa lainlaing mga pagbag-o sa plano sa pagpatuman. Gihiusa niini ang mga pagbag-o alang sa gipaayo nga kahusayan, sama sa paghimo sa usa ka pipeline sa mga pag-apil sa usa ka pag-apil. Aron mapausbaw ang katulin, mahimong bahinon sa optimizer ang mga kalihokan, sama sa pag-apply ug pagbag-o sa datos sa dili pa mohimo ug operasyon sa pagkunhod.
Taghukum - Ang tigpatuman nagpadagan sa mga buluhaton kung nahuman na ang paghugpong ug pag-optimize. Ang mga trabaho gi-pipeline sa Executor.
CLI, UI, ug Thrift Server – Ang command-line interface (CLI) kay usa ka user interface nga nagtugot sa external user nga makigkomunikar sa Hive. Ang server sa pagdaginot sa Hive, susama sa mga protocol sa JDBC o ODBC, nagtugot sa mga kliyente sa gawas nga makigkomunikar sa Hive pinaagi sa usa ka network.
Security
Ang Apache Hive gisagol sa Hadoop security, nga naggamit sa Kerberos alang sa client-server mutual authentication. Ang HDFS nagdiktar sa mga permiso alang sa bag-ong namugna nga mga file sa Apache Hive, nga nagtugot kanimo sa pag-apruba sa user, grupo, ug uban pa.
Key bahin
- Gisuportahan sa hive ang mga eksternal nga lamesa, nga nagtugot kanimo sa pagproseso sa datos nga wala kini gitipig sa HDFS.
- Gitugotan usab niini ang pagbahin sa datos sa lebel sa lamesa aron madugangan ang katulin.
- Ang Apache Hive maayo kaayo nga nakatagbo sa ubos nga lebel sa interface sa Hadoop nga panginahanglan.
- Gipasayon sa Hive ang data summarization, pagpangutana, ug pagtuki.
- Ang HiveQL wala magkinahanglan og bisan unsang kahanas sa pagprograma; ang usa ka yano nga pagsabut sa mga pangutana sa SQL igo na.
- Mahimo usab namo gamiton ang Hive aron magpahigayon og ad-hoc nga mga pangutana alang sa pagtuki sa datos.
- Kini scalable, pamilyar, ug adaptable.
- Ang HiveQL wala magkinahanglan og bisan unsang kahanas sa pagprograma; ang usa ka yano nga pagsabut sa mga pangutana sa SQL igo na.
Kaayohan
Gitugotan sa Apache Hive ang mga taho sa katapusan sa adlaw, mga pagsusi sa adlaw-adlaw nga transaksyon, pagpangita sa ad-hoc, ug pagtuki sa datos. Ang komprehensibo nga mga panabut nga gihatag sa Apache Hive naghatag hinungdanon nga mga bentaha sa kompetisyon ug gipadali nimo ang pagtubag sa mga gipangayo sa merkado.
Ania ang pipila sa mga kaayohan sa pagbaton sa ingon nga kasayuran nga dali magamit:
- Kasayon sa paggamit – Uban sa SQL-sama nga pinulongan niini, ang pagpangutana sa datos kay sayon sabton.
- Gipaspasan ang pagsulod sa datos — Tungod kay gibasa sa Apache Hive ang schema nga wala gipamatud-an ang tipo sa lamesa o kahulugan sa schema, ang datos dili kinahanglan basahon, i-parse, ug i-serialize sa disc sa internal nga format sa database. Sa kasukwahi, sa usa ka naandan nga database, ang datos kinahanglan nga balido sa matag higayon nga kini idugang.
- Superior nga scalability, flexibility, ug cost-effectiveness - Tungod kay ang datos gitipigan sa HDFS, ang Apache Hive makakupot ug 100 ka petabytes sa datos, nga naghimo niini nga mas masukod nga kapilian kay sa usa ka tipikal nga database. Ang Apache Hive, isip usa ka cloud-based nga Hadoop nga serbisyo, nagtugot sa mga kustomer sa paspas nga pagtuyok sa mga virtual server aron matubag ang nag-usab-usab nga mga workloads.
- Lapad nga kapasidad sa pagtrabaho - Ang dagkong mga dataset mahimong magdumala hangtod sa 100,000 nga mga pangutana matag oras.
limitasyon
- Sa kinatibuk-an, ang mga pangutana sa Apache Hive adunay taas kaayo nga latency.
- Limitado ang suporta sa subquery.
- Ang tinuod nga panahon nga mga pangutana ug row-level nga mga kausaban dili magamit sa Apache Hive.
- Walay suporta alang sa materyal nga mga panglantaw.
- Sa hive, ang pag-update ug pagtangtang sa mga aksyon dili suportado.
- Dili gituyo alang sa OLTP (online transitional process).
Pagsugod sa Apache Hive
Ang Apache Hive usa ka lig-on nga kasosyo sa Hadoop nga nagpasimple ug nag-streamline sa imong mga daloy sa trabaho. Aron makuha ang labing kaayo sa Apache Hive, hinungdanon ang hapsay nga panagsama. Ang unang lakang mao ang pag-adto sa website.
1. Pag-instalar sa Hive gikan sa usa ka Stable Release
Pagsugod pinaagi sa pag-download sa labing bag-o nga stable nga pagpagawas sa Hive gikan sa usa sa mga salamin sa pag-download sa Apache (tan-awa Mga Pagpagawas sa Hive). Ang tarball kinahanglan dayon nga ablihan. Maghimo kini og subfolder nga gitawag og hive-xyz (diin ang xyz mao ang release number):
Ibutang ang environment variable HIVE_HOME aron itudlo ang instalasyon nga direktoryo:
Sa katapusan, idugang ang $HIVE_HOME/bin sa imong PATH
:
2. Nagdagan nga Hive
Gigamit sa hive ang Hadoop, mao nga:
- kinahanglan nga adunay Hadoop sa imong agianan O
3. Operasyon sa DLL
Paghimo sa Hive Table
nagmugna og usa ka lamesa nga ginganlan og pokes nga adunay duha ka kolum, ang una niini usa ka integer ug ang ikaduha niini usa ka string.
Pag-browse sa mga Talaan
Paglista sa Tanan nga mga Talaan
Pag-usab ug Paghulog sa mga Talaan
Ang mga ngalan sa lamesa mahimong usbon ug ang mga kolum mahimong idugang o pulihan:
Angay nga hinumdoman nga ang REPLACE COLUMNS nagpuli sa tanan nga naa na nga mga kolum samtang nagbag-o lamang sa istruktura sa lamesa ug dili ang datos. Usa ka lumad nga SerDe kinahanglan gamiton sa lamesa. Ang REPLACE COLUNS mahimo usab nga gamiton sa pagtangtang sa mga column gikan sa schema sa usa ka lamesa:
Paghulog sa mga Lamesa
Adunay daghang dugang nga mga operasyon ug mga bahin sa Apache Hive nga mahimo nimong mahibal-an pinaagi sa pagbisita sa opisyal nga website.
Panapos
Ang kahulugan sa hive usa ka interface sa programa sa datos alang sa pagpangutana ug pagtuki alang sa daghang mga datasets nga gitukod sa ibabaw sa Apache Hadoop. Gipili kini sa mga propesyonal kay sa ubang mga programa, mga himan, ug software tungod kay nag-una kini nga gidisenyo alang sa daghang data sa Hive ug yano nga gamiton.
Hinaot nga kini nga panudlo makatabang kanimo sa pagsugod sa Apache Hive ug paghimo sa imong mga workflow nga mas episyente. Ipahibalo kanamo sa mga komento.
Leave sa usa ka Reply