Hive як воситаи ба таври васеъ истифодашавандаи Big Data Analytics дар тиҷорат аст ва он ҷои афсонавӣ барои оғоз кардан аст, агар шумо бо маълумоти Big нав бошед. Ин дарси Apache Hive аз асосҳои Apache Hive мегузарад, чаро ќуттї зарур аст, хусусиятҳои он ва ҳама чизи дигаре, ки шумо бояд бидонед.
Биёед аввал чаҳорчӯбаи Hadoop-ро дарк кунем, ки дар он Apache Hive сохта шудааст.
Apache Hadoop
Apache Hadoop як ройгон ва ройгон аст манбаъи кушода платформа барои нигоҳдорӣ ва коркарди маҷмӯаҳои бузурги додаҳо аз андозаи аз гигабайтҳо то петабайтҳо. Hadoop ба кластер кардани компютерҳои сершумор имкон медиҳад, ки маҷмӯи додаҳои азимро дар баробари таҳлил кунанд, ба ҷои талаб кардани як компютери калон барои нигоҳдорӣ ва таҳлили додаҳо.
MapReduce ва системаи файлии тақсимшудаи Hadoop ду ҷузъҳоянд:
- MapReduce – MapReduce як усули параллелии барномасозӣ барои коркарди ҳаҷми бузурги маълумотҳои муташаккил, нимсохторӣ ва сохторнашуда дар кластерҳои сахтафзори молӣ мебошад.
- HDFS – HDFS (System Distributed File Hadoop) як ҷузъи чаҳорчӯбаи Hadoop мебошад, ки маълумотро нигоҳ медорад ва коркард мекунад. Ин як системаи файлии ба хатогиҳо тобовар аст, ки дар сахтафзори стандартӣ кор мекунад
Зерлоиҳаҳои гуногун (асбобҳо) дар экосистемаи Hadoop, аз ҷумла Sqoop, Pig ва Hive, барои кӯмак ба модулҳои Hadoop истифода мешаванд.
- Қуттӣ – Hive чаҳорчӯба барои навиштани скриптҳои услуби SQL мебошад, ки ҳисобҳои MapReduce-ро иҷро мекунанд.
- Хук – Pig забони барномасозии мурофиавӣ мебошад, ки метавонад барои сохтани скрипт барои равандҳои MapReduce истифода шавад.
- Скоп – Sqoop абзорест барои воридот ва содироти маълумот байни HDFS ва RDBMS.
кадом аст Apache Hive?
Apache Hive як манбаи кушода аст анбори иттилоот барнома барои хондан, навиштан ва идоракунии маҷмӯи бузурги додаҳо, ки мустақиман дар системаи файлии тақсимшудаи Apache Hadoop (HDFS) ё дигар системаҳои нигаҳдории додаҳо ба монанди Apache HBase нигоҳ дошта мешаванд.
Таҳиягарони SQL метавонанд Hive-ро барои эҷод кардани изҳороти Hive Query Language (HQL) барои дархост ва таҳлили додаҳо, ки бо изҳороти муқаррарии SQL муқоисашавандаанд, истифода баранд. Он барои осон кардани барномасозии MapReduce тавассути рафъи зарурати омӯхтан ва навиштани рамзи дарози Java сохта шудааст. Ба ҷои ин, шумо метавонед дархостҳои худро дар HQL нависед ва Hive харитаро месозад ва функсияҳоро барои шумо кам мекунад.
Интерфейси SQL-и Apache Hive ба стандарти тиллоӣ барои анҷом додани ҷустуҷӯҳои муваққатӣ, ҷамъбаст ва таҳлили додаҳои Hadoop табдил ёфтааст. Вақте ки ба абр дохил карда мешавад шабакаҳои компютерӣ, ин ҳалли махсусан камхарҷ ва миқёспазир аст, бинобар ин бисёр ширкатҳо, аз ҷумла Netflix ва Amazon, таҳия ва такмили Apache Hive-ро идома медиҳанд.
таърих
Дар тӯли замони худ дар Фейсбук Ҷойдип Сен Сарма ва Ашиш Тюсуо якҷоя Apache Hive-ро эҷод карданд. Ҳардуи онҳо эътироф карданд, ки барои ба даст овардани самараи бештар аз Hadoop, онҳо бояд вазифаҳои хеле мураккаби Java Map-Reduce эҷод кунанд. Онҳо эътироф карданд, ки онҳо наметавонанд гурӯҳҳои муҳандисӣ ва таҳлилии босуръат густаришёфтаи худро дар бораи малакаҳое таълим диҳанд, ки барои истифодаи Hadoop дар саросари ширкат лозиманд. Муҳандисон ва таҳлилгарон аксар вақт SQL-ро ҳамчун интерфейси корбар истифода мебурданд.
Гарчанде ки SQL метавонад аксарияти ниёзҳои таҳлилиро қонеъ кунад, таҳиягарон инчунин ният доштанд, ки барномасозии Hadoop-ро дар бар гиранд. Apache Hive аз ин ду ҳадаф ба вуҷуд омадааст: забони декларативии ба SQL асосёфта, ки инчунин ба таҳиягарон имкон дод, ки скриптҳо ва барномаҳои худро ворид кунанд, вақте ки SQL кофӣ набуд.
Он инчунин барои нигоҳ доштани метамаълумоти мутамарказ (ба асоси Hadoop) дар бораи тамоми маҷмӯаҳои додаҳо дар ширкат таҳия шудааст, то сохтмони созмонҳои ба маълумот асосёфтаро осонтар кунад.
Apache Hive чӣ гуна кор мекунад?
Хулоса, Apache Hive барномаи вуруди бо забони HiveQL (SQL-монанди) навишташударо ба як ё якчанд супоришҳои Java MapReduce, Tez ё Spark табдил медиҳад. (Ҳамаи ин муҳаррикҳои иҷрокунанда бо Hadoop YARN мувофиқанд.) Баъд аз ин, Apache Hive маълумотро дар ҷадвалҳо барои системаи файлии тақсимшудаи Hadoop HDFS тартиб медиҳад) ва барои гирифтани ҷавоб вазифаҳоро дар кластер иҷро мекунад.
Маълумот
Ҷадвалҳои Apache Hive ҳамон тавре ҷойгир шудаанд, ки ҷадвалҳо дар пойгоҳи додаҳои релятсионӣ бо воҳидҳои додаҳо аз андозаи калонтар то хурдтар фарқ мекунанд. Пойгоҳи додаҳо аз ҷадвалҳо иборатанд, ки ба қисмҳо тақсим карда мешаванд, ки минбаъд ба сатилҳо тақсим карда мешаванд. HiveQL (Hive Query Language) барои дастрасӣ ба додаҳо истифода мешавад, ки онҳоро тағир додан ё замима кардан мумкин аст. Маълумоти ҷадвал дар дохили ҳар як махзани маълумот силсилавӣ карда мешавад ва ҳар як ҷадвал феҳристи HDFS-и худро дорад.
меъморӣ
Ҳоло мо дар бораи ҷанбаи муҳимтарини меъмории Hive сӯҳбат хоҳем кард. Қисмҳои Apache Hive инҳоянд:
Метабор — Он маълумотро дар бораи ҳар як ҷадвал, аз қабили сохтор ва ҷойгиршавии он нигоҳ медорад. Метамаълумоти тақсимот низ ба Hive дохил карда шудааст. Ин ба ронанда имкон медиҳад, ки пешрафти маҷмӯи маълумотҳои гуногунро, ки дар кластер паҳн шудаанд, пайгирӣ кунад. Маълумот дар формати муқаррарии RDBMS нигоҳ дошта мешавад. Метамаълумоти Hive барои ронанда барои нигоҳ доштани пайгирии маълумот ниҳоят муҳим аст. Сервери эҳтиётӣ маълумотро мунтазам такрор мекунад, то он дар сурати гум шудани маълумот барқарор карда шавад.
ронанда – Изҳороти HiveQL аз ҷониби драйвере қабул карда мешавад, ки ҳамчун контроллер фаъолият мекунад. Бо таъсис додани сессияҳо, ронанда ба иҷрои изҳорот оғоз мекунад. Он умр ва пешравии рохбариро ба хисоб мегирад. Ҳангоми иҷрои изҳороти HiveQL, драйвер метамаълумоти лозимиро захира мекунад. Он инчунин ҳамчун нуқтаи ҷамъоварии маълумот ё натиҷаҳои дархост пас аз раванди коҳиш хизмат мекунад.
Тартибдиҳанда – Он маҷмӯи дархостҳои HiveQL-ро иҷро мекунад. Дархост ҳоло ба нақшаи иҷро табдил дода мешавад. Вазифахо дар план нишон дода шудаанд. Он инчунин қадамҳоеро дар бар мегирад, ки MapReduce бояд барои ба даст овардани натиҷае, ки тавассути дархост тарҷума шудааст, анҷом диҳад. Дархост аз ҷониби компилятори Hive (AST) ба дарахти абстрактии синтаксис табдил дода мешавад. Пас аз тафтиши мутобиқат ва хатогиҳои вақти компилятсионӣ (DAG) AST-ро ба Графикаи даврӣ табдил медиҳад.
Оптимизатор - Он DAG-ро тавассути ворид кардани тағироти гуногун дар нақшаи иҷро оптимизатсия мекунад. Он тағиротҳоро барои баланд бардоштани самаранокӣ, ба монанди табдил додани қубури пайвастшавӣ ба як пайвастшавӣ муттаҳид мекунад. Барои беҳтар кардани суръат, оптимизатор метавонад фаъолиятҳоро тақсим кунад, ба монанди татбиқи тағирот ба маълумот пеш аз иҷрои амалиёти коҳиш.
Иҷрокунанда – Иҷрокунанда вазифаҳоро пас аз анҷоми ҷамъоварӣ ва оптимизатсия иҷро мекунад. Корҳо аз ҷониби Иҷрокунанда қубур карда мешаванд.
CLI, UI ва сервери Thrift – Интерфейси сатри фармон (CLI) интерфейси корбарест, ки ба корбари беруна имкон медиҳад бо Hive муошират кунад. Сервери сарфаи Hive, ки ба протоколҳои JDBC ё ODBC монанд аст, ба мизоҷони беруна имкон медиҳад, ки тавассути шабака бо Hive муошират кунанд.
Амният
Apache Hive бо амнияти Hadoop ҳамгиро шудааст, ки Kerberos-ро барои аутентификатсияи мутақобилаи муштарӣ ва сервер истифода мебарад. HDFS иҷозатҳоро барои файлҳои нав тавлидшуда дар Apache Hive дикта мекунад, ки ба шумо имкон медиҳад аз ҷониби корбар, гурӯҳ ва дигарон тасдиқ карда шавад.
Хусусиятҳои асосӣ
- Hive ҷадвалҳои берунаро дастгирӣ мекунад, ки ба шумо имкон медиҳад маълумотро бидуни нигоҳ доштани он дар HDFS коркард кунед.
- Он инчунин ба сегментатсияи маълумот дар сатҳи ҷадвал имкон медиҳад, ки суръатро афзоиш диҳад.
- Apache Hive ба талаботи интерфейси сатҳи пасти Hadoop ба таври аъло қонеъ мекунад.
- Hive ҷамъбасти маълумот, дархост ва таҳлилро осонтар мекунад.
- HiveQL ягон малакаи барномасозиро талаб намекунад; фаҳмиши оддии дархостҳои SQL кифоя аст.
- Мо инчунин метавонем Hive-ро барои гузаронидани дархостҳои муваққатӣ барои таҳлили додаҳо истифода барем.
- Он миқёспазир, шинос ва мутобиқшаванда аст.
- HiveQL ягон малакаи барномасозиро талаб намекунад; фаҳмиши оддии дархостҳои SQL кифоя аст.
Манфиатҳо
Apache Hive барои гузоришҳои охири рӯз, арзёбии транзаксияҳои ҳаррӯза, ҷустуҷӯҳои муваққатӣ ва таҳлили додаҳо имкон медиҳад. Андешаҳои ҳамаҷонибаи аз ҷониби Apache Hive пешниҳодшуда бартариҳои назарраси рақобатӣ медиҳанд ва вокуниш ба талаботи бозорро осонтар мекунанд.
Инҳоянд баъзе аз бартариҳои дастрас будани чунин маълумот:
- Осонии истифода – Бо забони ба SQL монандаш, дархости маълумотро фаҳмидан осон аст.
- Воридкунии суръатбахшии маълумот — Азбаски Apache Hive схемаро бидуни тафтиши намуди ҷадвал ё таърифи схема мехонад, маълумот набояд хонда, таҳлил ва ба диск дар формати дохилии пойгоҳи додаҳо силсила карда шавад. Баръакс, дар пойгоҳи додаҳои муқаррарӣ, маълумот бояд ҳар дафъае, ки он илова карда мешавад, тасдиқ карда шавад.
- Миқёспазирии олӣ, чандирӣ ва камхарҷ – Азбаски маълумот дар HDFS нигоҳ дошта мешавад, Apache Hive метавонад 100-ҳо петабайт маълумотро нигоҳ дорад, ки онро нисбат ба пойгоҳи додаҳои маъмулӣ як варианти миқёспазиртар месозад. Apache Hive ҳамчун хидмати абрии Hadoop ба муштариён имкон медиҳад, ки серверҳои виртуалиро зуд боло ва поён гардонанд, то сарбории тағйирёбандаро иҷро кунанд.
- Қобилияти кории васеъ - Маҷмӯи додаҳои калон метавонанд дар як соат то 100,000 дархостро иҷро кунанд.
Маҳдудияти
- Умуман, дархостҳои Apache Hive таъхири хеле баланд доранд.
- Дастгирии зерпурсиш маҳдуд аст.
- Дар Apache Hive дархостҳои вақти воқеӣ ва тағиротҳои сатҳи сатр дастрас нестанд.
- Адидаҳои моддӣ дастгирӣ карда намешаванд.
- Дар ќуттї, амалҳои навсозӣ ва несткунӣ дастгирӣ намешаванд.
- Барои OLTP пешбинӣ нашудааст (раванди гузариши онлайн).
Оғози кор бо Apache Hive
Apache Hive як шарики қавии Hadoop аст, ки ҷараёни кории шуморо содда ва содда мекунад. Барои ба даст овардани самараи бештар аз Apache Hive, ҳамгироии бефосила муҳим аст. Қадами аввал рафтан ба он аст сомона.
1. Қуттии Насбкунӣ аз Варақаи устувор
Аз зеркашии версияи охирини устувори Hive аз яке аз оинаҳои зеркашии Apache оғоз кунед (ниг Варақаҳои Hive). Пас аз он, тарбол бояд кушода шавад. Ин зерпапкаеро бо номи hive-xyz эҷод мекунад (ки дар он xyz рақами нашр аст):
Тағйирёбандаи муҳити зист HIVE_HOME-ро таъин кунед, то ба директорияи насб ишора кунад:
Дар ниҳоят, ба худ $HIVE_HOME/bin илова кунед PATH
:
2. Running Hive
Hive Hadoop-ро истифода мебарад, бинобар ин:
- шумо бояд дар роҳи худ Hadoop дошта бошед Ё
3. Амалиёти DLL
Эҷоди Ҷадвали Hive
Ҷадвали бо номи pokes бо ду сутун тавлид мекунад, ки якумаш адади бутун ва дуюмаш сатр аст.
Баррасии ҷадвалҳо
Рӯйхати ҳамаи ҷадвалҳо
Тағир додан ва партофтани ҷадвалҳо
Номҳои ҷадвал метавонанд тағир дода шаванд ва сутунҳо метавонанд илова ё иваз карда шаванд:
Қобили зикр аст, ки СУТУНҲОИ Иваз ҳамаи сутунҳои мавҷударо иваз мекунад ва танҳо сохтори ҷадвалро тағйир медиҳад, на маълумот. Дар ҷадвал бояд SerDe модарӣ истифода шавад. Иваз кардани сутунҳо инчунин метавонанд барои нест кардани сутунҳо аз схемаи ҷадвал истифода шаванд:
Ҷадвалҳои партофташуда
Дар Apache Hive бисёр амалиётҳо ва хусусиятҳои иловагӣ мавҷуданд, ки шумо метавонед тавассути боздид аз вебсайти расмӣ дар бораи онҳо маълумот гиред.
хулоса
Таърифи Hive интерфейси барномаи додаҳо барои пурсиш ва таҳлил барои маҷмӯаҳои азимест, ки дар болои Apache Hadoop сохта шудаанд. Мутахассисон онро бар дигар барномаҳо, асбобҳо ва нармафзорҳо интихоб мекунанд, зеро он асосан барои маълумоти васеъи Hive тарҳрезӣ шудааст ва истифодааш осон аст.
Умедворам, ки ин дастур ба шумо кӯмак мекунад, ки бо Apache Hive оғоз кунед ва ҷараёни кории худро самараноктар созед. Дар шарҳҳо ба мо хабар диҳед.
Дин ва мазҳаб