Hive se yon zouti analiz gwo done lajman itilize nan biznis la, epi li se yon kote kokenn pou kòmanse si ou nouvo nan Big Data. Sa a leson Apache Hive ale nan fondamantal yo nan Apache Hive, poukisa yon ruch nesesè, karakteristik li yo, ak tout lòt bagay ou ta dwe konnen.
Ann premye konprann fondasyon Hadoop sou ki Apache Hive bati sou li.
Apache Hadoop
Apache Hadoop se yon gratis ak louvri-sous platfòm pou estoke ak trete gwo done ki varye nan gwosè soti nan jigokte ak petaoctet. Hadoop pèmèt gwoupe anpil òdinatè yo analize done menmen an paralèl, olye ke egzije yon sèl gwo òdinatè pou estoke ak analize done yo.
MapReduce ak Hadoop Distributed File System se de nan eleman yo:
- MapReduce – MapReduce se yon teknik pwogramasyon paralèl pou jere gwo kantite done òganize, semi-estriktire ak san estrikti sou gwoup pyès ki nan konpitè machandiz yo.
- HDFS – HDFS (Hadoop Distributed File System) se yon eleman fondasyon Hadoop ki estoke ak trete done yo. Li se yon sistèm fichye ki toleran fòt ki kouri sou pyès ki nan konpitè estanda
Diferan sub-pwojè (zouti) nan ekosistèm Hadoop, ki gen ladan Sqoop, Pig, ak Hive, yo itilize pou ede modil Hadoop.
- Ruch – Hive se yon kad pou ekri script SQL-style ki fè kalkil MapReduce.
- Kochon – Pig se yon langaj pwogramasyon pwosedi ki ka itilize pou kreye yon script pou pwosesis MapReduce.
- Sqoop – Sqoop se yon zouti pou enpòte ak ekspòte done ant HDFS ak RDBMS.
Ki sa ki Apache ruch?
Apache Hive se yon sous louvri done depo pwogram pou li, ekri, ak jere seri done gwo ki estoke dirèkteman nan Apache Hadoop Distributed File System (HDFS) oswa lòt sistèm depo done tankou Apache HBase.
Devlopè SQL yo ka itilize Hive pou kreye deklarasyon Hive Query Language (HQL) pou rechèch done ak analiz ki konparab ak deklarasyon SQL regilye. Li te kreye pou fè pwogram MapReduce pi fasil lè li elimine nesesite pou aprann ak ekri kòd Java long. Olye de sa, ou ka ekri demann ou yo nan HQL, epi Hive pral bati kat la epi redwi fonksyon yo pou ou.
Koòdone SQL ki tankou Apache Hive te vin Estanda Gold pou fè rechèch ad hoc, rezime, ak analize done Hadoop. Lè enkli nan nwaj rezo informatique, solisyon sa a se espesyalman pri-efikas ak évolutive, ki se poukisa anpil konpayi, ki gen ladan Netflix ak Amazon, kontinye devlope ak amelyore Apache Hive.
Istwa
Pandan tan yo nan Facebook, Joydeep Sen Sarma ak Ashish Thusoo ko-kreye Apache Hive. Yo tou de te rekonèt ke pou jwenn pi plis nan Hadoop, yo ta dwe kreye kèk travay Java Map-Reduce olye konplike. Yo te rekonèt ke yo pa t ap kapab edike ekip jeni ak analyse k ap grandi rapidman yo sou konpetans yo ta bezwen pou ogmante Hadoop atravè konpayi an. Enjenyè ak analis yo souvan itilize SQL kòm yon koòdone itilizatè.
Pandan ke SQL te kapab satisfè majorite bezwen analiz yo, devlopè yo tou gen entansyon enkòpore pwogramasyon Hadoop la. Apache Hive te soti nan de objektif sa yo: yon langaj deklarasyon ki baze sou SQL ki te pèmèt tou devlopè yo pote pwòp scripts ak pwogram yo lè SQL pa t ase.
Li te devlope tou pou kenbe metadata santralize (ki baze sou Hadoop) sou tout seri done yo nan konpayi an pou fè konstriksyon òganizasyon ki baze sou done pi fasil.
Ki jan Apache Hive travay?
Nan yon bref, Apache Hive konvèti yon pwogram opinyon ekri nan lang HiveQL (tankou SQL) nan youn oswa plizyè travay Java MapReduce, Tez, oswa Spark. (Tout motè ekzekisyon sa yo konpatib ak Hadoop YARN.) Apre sa, Apache Hive fè aranjman done yo nan tab pou Hadoop Distributed File System HDFS) epi fè travay yo sou yon gwoup pou jwenn yon repons.
Done
Tablo Apache Hive yo ranje menm jan ak tab nan yon baz done relasyon yo òganize, ak inite done ki varye nan gwosè soti nan pi gwo a pi piti. Baz done yo konpoze de tab ki divize an divizyon, ki plis divize an bokit. HiveQL (Hive Query Language) yo itilize pou jwenn aksè nan done yo, ki ka chanje oswa ajoute. Done tab yo seri nan chak baz done, epi chak tab gen pwòp anyè HDFS li.
achitekti
Koulye a, nou pral pale sou aspè ki pi enpòtan nan Hive Architecture. Konpozan Apache Hive yo jan sa a:
Metastore — Li kenbe tras enfòmasyon sou chak tab, tankou estrikti li yo ak kote yo ye. Menm jan an tou, metadata patisyon yo enkli nan Hive. Sa a pèmèt chofè a kenbe tras nan pwogrè nan seri done diferan gaye atravè gwoup la. Done yo estoke nan yon fòma RDBMS konvansyonèl yo. Metadata Hive trè enpòtan pou chofè a kenbe tras done yo. Sèvè a backup kopi done sou yon baz regilye pou ke li ka refè nan evènman an nan pèt done.
Chofè – Deklarasyon HiveQL yo resevwa pa yon chofè, ki fonksyone kòm yon kontwolè. Lè yo etabli sesyon yo, chofè a kòmanse egzekisyon deklarasyon an. Li kenbe tras nan lavi egzekitif la ak pwogrè. Pandan egzekisyon yon deklarasyon HiveQL, chofè a sove metadata ki nesesè yo. Li sèvi tou kòm yon pwen kolekte done oswa rezilta rechèch apre pwosesis Reduce la.
Compiler – Li egzekite konpilasyon rechèch HiveQL la. Rekèt la kounye a konvèti nan yon plan ekzekisyon. Travay yo ki nan lis nan plan an. Li gen ladan tou etap sa yo ke MapReduce dwe pran pou jwenn rezilta a jan rechèch la tradui. Rekèt la konvèti nan yon Pyebwa Sentaks Abstract pa du Hive a (AST). Konvèti AST a nan yon graf Acyclic Dirije apre tcheke pou konpatibilite ak konpile-tan fay (DAG).
Optimizer – Li optimize DAG lè li fè diferan chanjman sou plan ekzekisyon an. Li konbine transfòmasyon pou amelyore efikasite, tankou vire yon tiyo nan rantre nan yon sèl rantre. Pou amelyore vitès, optimize a ka divize aktivite, tankou aplike yon transfòmasyon nan done anvan ou fè yon operasyon rediksyon.
Ekzekitè – Egzekitè a kouri travay yo lè konpilasyon an ak optimize yo fini. Travay yo ap dirije pa Egzekitè a.
CLI, UI, ak sèvè Thrift – Koòdone liy kòmand (CLI) se yon koòdone itilizatè ki pèmèt yon itilizatè ekstèn kominike ak Hive. Sèvè thrift Hive a, menm jan ak pwotokòl JDBC oswa ODBC, pèmèt kliyan ekstèn yo kominike avèk Hive atravè yon rezo.
sekirite
Apache Hive entegre ak sekirite Hadoop, ki itilize Kerberos pou otantifikasyon mityèl kliyan-sèvè. HDFS dikte otorizasyon pou dosye ki fèk pwodwi nan Apache Hive, sa ki pèmèt ou apwouve pa itilizatè a, gwoup, ak lòt moun.
Aparans kle
- Hive sipòte tab ekstèn, ki pèmèt ou trete done san yo pa estoke yo nan HDFS.
- Li pèmèt tou segmentasyon done nan nivo tab la pou ogmante vitès.
- Apache Hive ekselan satisfè bezwen koòdone ba-nivo Hadoop la.
- Hive fè rezime done, demann, ak analiz pi fasil.
- HiveQL pa mande pou okenn ladrès pwogramasyon; yon senp konpreyansyon sou demann SQL se ase.
- Nou kapab tou itilize Hive pou fè rechèch ad hoc pou analiz done.
- Li évolutive, abitye, ak adaptab.
- HiveQL pa mande pou okenn ladrès pwogramasyon; yon senp konpreyansyon sou demann SQL se ase.
Benefis
Apache Hive pèmèt rapò fen jounen an, evalyasyon tranzaksyon chak jou, rechèch ad hoc, ak analiz done. Apache Hive bay enfòmasyon konplè yo bay avantaj konpetitif enpòtan epi fè li pi fasil pou w reponn a demand mache yo.
Men kèk nan avantaj ki genyen nan enfòmasyon sa yo ki disponib fasilman:
- Fasilite la itilize – Avèk langaj ki sanble ak SQL li yo, demann done se senp pou konprann.
- Ensèsyon done akselere — Paske Apache Hive li chema a san yo pa verifye kalite tab la oswa definisyon chema, done yo pa oblije li, analize, ak seri sou disk nan fòma entèn baz done a. Kontrèman, nan yon baz done konvansyonèl, done yo dwe valide chak fwa yo ajoute yo.
- Siperyè évolutivité, fleksibilite, ak pri-efikasite - Paske done yo estoke nan HDFS la, Apache Hive ka kenbe 100s nan petabyte nan done, sa ki fè li yon opsyon byen lwen plis évolutive pase yon baz done tipik. Apache Hive, kòm yon sèvis Hadoop ki baze sou nwaj, pèmèt kliyan yo rapidman vire leve, li desann sèvè vityèl pou satisfè chanj travay yo.
- Kapasite travay vaste – Gwo done yo ka okipe jiska 100,000 demann pou chak èdtan.
Limit
- An jeneral, demann Apache Hive gen latansi trè wo.
- Sipò pou Subquery limite.
- Rekèt an tan reyèl ak chanjman nan nivo ranje yo pa disponib nan Apache Hive.
- Pa gen okenn sipò pou opinyon materyalize.
- Nan ruch la, aktyalizasyon ak efase aksyon yo pa sipòte.
- Pa fèt pou OLTP (pwosesis tranzisyon sou entènèt).
Kòmanse ak Apache Hive
Apache Hive se yon patnè solid Hadoop ki senplifye ak rasyonalize workflows ou yo. Pou jwenn pi plis nan Apache Hive, entegrasyon san pwoblèm esansyèl. Premye etap la se ale nan la sit entènèt.
1. Enstalasyon Hive soti nan yon Release ki estab
Kòmanse pa telechaje lage ki pi resan ki estab nan Hive nan youn nan miwa download Apache yo (gade Ruch Releases). Lè sa a, tarball la dwe depake. Sa a pral kreye yon subfolder ki rele hive-xyz (kote xyz se nimewo liberasyon an):
Mete varyab anviwònman HIVE_HOME pou l lonje dwèt sou anyè enstalasyon an:
Finalman, ajoute $HIVE_HOME/bin nan ou PATH
:
2. Kouri Ruch
Hive itilize Hadoop, kidonk:
- ou dwe genyen Hadoop nan chemen ou OSWA
3. DLL Operasyon
Kreye tab ruch
jenere yon tab ki rele pokes ak de kolòn, premye nan ki se yon nonb antye relatif ak dezyèm nan ki se yon fisèl.
Navigasyon nan Tablo yo
Lis tout tab yo
Chanje ak jete tab yo
Yo ka chanje non tab yo epi yo ka ajoute oswa ranplase kolòn yo:
Li enpòtan sonje ke REPLACE COLUMNS ranplase tout kolòn ki egziste deja pandan y ap chanje sèlman estrikti tab la epi li pa done yo. Yo dwe itilize yon SerDe natif natal nan tablo a. RANPLACE COLUMNS ka itilize tou pou retire kolòn nan chema yon tablo:
Depoze tab
Gen anpil operasyon adisyonèl ak karakteristik nan Apache Hive ke ou ka aprann sou lè w vizite sit entènèt ofisyèl la.
konklizyon
Definisyon Hive se yon koòdone pwogram done pou rechèch ak analiz pou seri done gwo ki bati sou tèt Apache Hadoop. Pwofesyonèl chwazi li sou lòt pwogram, zouti, ak lojisyèl paske li se sitou fèt pou done Hive vaste epi li se senp pou itilize.
Espere leson patikilye sa a ede ou kòmanse ak Apache Hive epi fè workflows ou yo pi efikas. Fè nou konnen nan kòmantè yo.
Kite yon Reply