Hive ni zana inayotumika sana ya Uchanganuzi wa Data Kubwa katika biashara, na ni mahali pazuri pa kuanzia ikiwa wewe ni mgeni kwenye Data Kubwa. Somo hili la Apache Hive linapitia misingi ya Apache Hive, kwa nini mzinga ni muhimu, sifa zake, na kila kitu kingine unachopaswa kujua.
Wacha kwanza tuelewe mfumo wa Hadoop ambao Apache Hive imejengwa juu yake.
Apache Hadoop
Apache Hadoop ni bure na wazi chanzo jukwaa la kuhifadhi na kuchakata hifadhidata kubwa kuanzia saizi kutoka gigabytes hadi petabytes. Hadoop huruhusu kuunganisha kompyuta nyingi kuchanganua hifadhidata kubwa sana sambamba, badala ya kuhitaji kompyuta kubwa moja kuhifadhi na kuchanganua data.
MapReduce na Hadoop Distributed File System ni vipengele viwili:
- RamaniKupunguza - MapReduce ni mbinu ya kupanga programu sambamba ya kushughulikia idadi kubwa ya data iliyopangwa, isiyo na muundo na isiyo na muundo kwenye nguzo za maunzi ya bidhaa.
- HDFS - HDFS (Mfumo wa Faili Uliosambazwa wa Hadoop) ni sehemu ya mfumo wa Hadoop ambayo huhifadhi na kuchakata data. Ni mfumo wa faili unaostahimili hitilafu unaotumia maunzi ya kawaida
Miradi ndogo (zana) tofauti katika mfumo ikolojia wa Hadoop, ikijumuisha Sqoop, Nguruwe, na Mzinga, hutumiwa kusaidia moduli za Hadoop.
- Mizinga ya - Hive ni mfumo wa kuandika maandishi ya mtindo wa SQL ambayo hufanya hesabu za MapReduce.
- Nguruwe - Nguruwe ni lugha ya kiutaratibu ambayo inaweza kutumika kuunda hati ya michakato ya MapReduce.
- Sqoop - Sqoop ni zana ya kuagiza na kusafirisha data kati ya HDFS na RDBMS.
Nini Mzinga wa Apache?
Apache Hive ni chanzo wazi ghala ya data programu ya kusoma, kuandika, na kudhibiti seti kubwa za data zilizohifadhiwa moja kwa moja kwenye Mfumo wa Faili Zilizosambazwa za Apache Hadoop (HDFS) au mifumo mingine ya kuhifadhi data kama Apache HBase.
Wasanidi wa SQL wanaweza kutumia Hive kuunda taarifa za Lugha ya Hive Query (HQL) kwa hoja na uchanganuzi wa data ambao unaweza kulinganishwa na taarifa za kawaida za SQL. Iliundwa ili kurahisisha programu ya MapReduce kwa kuondoa hitaji la kujifunza na kuandika msimbo mrefu wa Java. Badala yake, unaweza kuandika hoja zako katika HQL, na Hive itakujengea ramani na kukupunguzia utendakazi.
Kiolesura kinachofanana na SQL cha Apache Hive kimekuwa Kiwango cha Dhahabu cha kufanya utafutaji wa dharura, muhtasari na kuchambua data ya Hadoop. Inapojumuishwa kwenye wingu mitandao ya kompyuta, suluhisho hili ni la gharama nafuu na linaweza kupunguzwa, ndiyo sababu makampuni mengi, ikiwa ni pamoja na Netflix na Amazon, yanaendelea kuendeleza na kuboresha Apache Hive.
historia
Wakati wa kukaa kwenye Facebook, Joydeep Sen Sarma na Ashish Thusoo walishirikiana kuunda Apache Hive. Wote wawili walitambua kuwa ili kupata manufaa zaidi kutoka kwa Hadoop, itawabidi waunde kazi ngumu sana za Kupunguza Ramani ya Java. Walitambua kuwa hawataweza kuelimisha timu zao za uhandisi na uchanganuzi zinazopanuka kwa kasi kuhusu ujuzi ambao wangehitaji ili kuimarisha Hadoop kote kwenye kampuni. Wahandisi na wachambuzi walitumia SQL mara kwa mara kama kiolesura cha mtumiaji.
Ingawa SQL inaweza kukidhi mahitaji mengi ya uchanganuzi, wasanidi programu pia walinuia kujumuisha uratibu wa Hadoop. Apache Hive ilitokana na malengo haya mawili: lugha ya tangazo yenye msingi wa SQL ambayo pia iliwawezesha wasanidi programu kuleta hati na programu zao wenyewe wakati SQL haitoshi.
Iliundwa pia kushikilia metadata ya kati (msingi wa Hadoop) kuhusu hifadhidata zote katika kampuni ili kurahisisha ujenzi wa mashirika yanayoendeshwa na data.
Je, Apache Hive inafanya kazi gani?
Kwa kifupi, Apache Hive hubadilisha programu ya kuingiza data iliyoandikwa katika lugha ya HiveQL (SQL-kama) kuwa kazi moja au zaidi ya Java MapReduce, Tez, au Spark. (Injini hizi zote za utekelezaji zinaendana na UZI wa Hadoop.) Baada ya hapo, Apache Hive hupanga data katika majedwali ya Mfumo wa Faili Uliosambazwa wa Hadoop HDFS) na hufanya kazi kwenye nguzo ili kupata jibu.
Data
Majedwali ya Apache Hive yamepangwa kwa njia sawa na vile jedwali katika hifadhidata ya uhusiano zinavyopangwa, na vitengo vya data vinavyoanzia kwa ukubwa kutoka kubwa hadi ndogo. Hifadhidata imeundwa na meza ambazo zimegawanywa katika mgawanyiko, ambazo zimegawanywa zaidi katika ndoo. HiveQL (Lugha ya Hive Query) hutumiwa kufikia data, ambayo inaweza kubadilishwa au kuongezwa. Data ya jedwali inasasishwa ndani ya kila hifadhidata, na kila jedwali lina saraka yake ya HDFS.
usanifu
Sasa tutazungumza juu ya kipengele muhimu zaidi cha Usanifu wa Hive. Vipengele vya Apache Hive ni kama ifuatavyo:
Metastore - Hufuatilia habari kuhusu kila jedwali, kama vile muundo na eneo lake. Metadata ya kizigeu pia imejumuishwa kwenye Hive. Hii inaruhusu dereva kufuatilia maendeleo ya seti tofauti za data zilizoenea kwenye nguzo. Data imehifadhiwa katika umbizo la kawaida la RDBMS. Metadata ya Hive ni muhimu sana kwa dereva kudumisha wimbo wa data. Seva ya hifadhi rudufu ya data mara kwa mara ili iweze kurejeshwa ikiwa data itapotea.
Dereva - Taarifa za HiveQL hupokelewa na dereva, ambaye anafanya kazi kama kidhibiti. Kwa kuanzisha vikao, dereva huanzisha utekelezaji wa taarifa. Inafuatilia maisha na maendeleo ya mtendaji. Wakati wa utekelezaji wa taarifa ya HiveQL, dereva huhifadhi metadata inayohitajika. Pia hutumika kama kituo cha kukusanya data au hoja kufuatia mchakato wa Kupunguza.
Kampuni - Inatekeleza mkusanyiko wa hoja ya HiveQL. Hoja sasa imebadilishwa kuwa mpango wa utekelezaji. Kazi zimeorodheshwa katika mpango. Pia inajumuisha hatua ambazo MapReduce lazima ichukue ili kupata matokeo kama yalivyotafsiriwa na hoja. Hoja inabadilishwa kuwa Muhtasari wa Mti wa Sintaksia na mkusanyaji wa Hive (AST). Hubadilisha AST kuwa Grafu ya Acyclic Iliyoelekezwa baada ya kuangalia upatanifu na hitilafu za muda wa kukusanya (DAG).
Optimizer - Inaboresha DAG kwa kufanya mabadiliko tofauti kwenye mpango wa utekelezaji. Inachanganya mabadiliko kwa ufanisi ulioboreshwa, kama vile kugeuza bomba la viungio kuwa kiunganishi kimoja. Ili kuboresha kasi, kiboreshaji kinaweza kugawanya shughuli, kama vile kutumia mabadiliko kwenye data kabla ya kutekeleza operesheni ya kupunguza.
Mtekelezaji - Mtekelezaji huendesha kazi wakati mkusanyiko na utoshelezaji umekamilika. Kazi hizo zinatumwa kwa bomba na Msimamizi.
CLI, UI, na Seva ya Thrift - Kiolesura cha mstari wa amri (CLI) ni kiolesura cha mtumiaji kinachoruhusu mtumiaji wa nje kuwasiliana na Hive. Seva ya kuhifadhi ya Hive, sawa na itifaki za JDBC au ODBC, huruhusu wateja wa nje kuwasiliana na Hive kupitia mtandao.
Usalama
Apache Hive imeunganishwa na usalama wa Hadoop, ambao hutumia Kerberos kwa uthibitishaji wa pande zote wa seva ya mteja. HDFS inaamuru ruhusa kwa faili mpya zinazozalishwa katika Apache Hive, hukuruhusu kuidhinisha na mtumiaji, kikundi, na wengine.
Makala muhimu
- Hive inasaidia majedwali ya nje, ambayo hukuruhusu kuchakata data bila kuihifadhi kwenye HDFS.
- Pia huwezesha mgawanyo wa data katika kiwango cha jedwali ili kuongeza kasi.
- Apache Hive inakidhi hitaji la kiolesura cha kiwango cha chini cha Hadoop.
- Hive hurahisisha muhtasari wa data, kuuliza maswali na uchanganuzi.
- HiveQL haihitaji ujuzi wowote wa kupanga programu; uelewa rahisi wa maswali ya SQL unatosha.
- Tunaweza pia kutumia Hive kuuliza maswali ya ad-hoc kwa uchanganuzi wa data.
- Inaweza kubadilika, inajulikana, na inaweza kubadilika.
- HiveQL haihitaji ujuzi wowote wa kupanga programu; uelewa rahisi wa maswali ya SQL unatosha.
Faida
Apache Hive inaruhusu ripoti za mwisho wa siku, tathmini za miamala ya kila siku, utafutaji wa dharula na uchanganuzi wa data. Maarifa ya kina yaliyotolewa na Apache Hive yanatoa faida kubwa za ushindani na kurahisisha kujibu mahitaji ya soko.
Zifuatazo ni baadhi ya faida za kuwa na taarifa hizo kwa urahisi:
- Urahisi wa kutumia - Kwa lugha yake kama SQL, data ya kuuliza ni rahisi kuelewa.
- Uingizaji wa data ulioharakishwa - Kwa sababu Apache Hive husoma mpangilio bila kuthibitisha aina ya jedwali au ufafanuzi wa schema, si lazima data isomwe, kuchanganuliwa na kupangwa ili diski katika umbizo la ndani la hifadhidata. Kinyume chake, katika hifadhidata ya kawaida, data lazima idhibitishwe kila wakati inapoongezwa.
- Ubora wa hali ya juu, unyumbufu, na ufanisi wa gharama - Kwa sababu data imehifadhiwa katika HDFS, Apache Hive inaweza kushikilia 100s ya petabytes ya data, na kuifanya kuwa chaguo kubwa zaidi kuliko hifadhidata ya kawaida. Apache Hive, kama huduma ya Hadoop inayotegemea wingu, inaruhusu wateja kusogeza juu na chini seva pepe kwa haraka ili kukidhi mabadiliko ya mzigo wa kazi.
- Uwezo mkubwa wa kufanya kazi - Seti kubwa za data zinaweza kushughulikia hadi hoja 100,000 kwa saa.
Mapungufu
- Kwa ujumla, maswali ya Apache Hive yana hali ya juu sana ya kusubiri.
- Usaidizi wa hoja ndogo ni mdogo.
- Maswali ya wakati halisi na mabadiliko ya kiwango cha safu mlalo hayapatikani katika Apache Hive.
- Hakuna uungwaji mkono kwa maoni yanayoonekana.
- Katika mzinga, vitendo vya kusasisha na kufuta havitumiki.
- Haikusudiwa kwa OLTP (mchakato wa mpito mtandaoni).
Anza na Apache Hive
Apache Hive ni mshirika hodari wa Hadoop ambaye hurahisisha na kurahisisha utiririshaji wako wa kazi. Ili kupata zaidi kutoka kwa Apache Hive, ujumuishaji usio na mshono ni muhimu. Hatua ya kwanza ni kwenda kwa tovuti.
1. Mzinga wa Ufungaji kutoka kwa Toleo Imara
Anza kwa kupakua toleo thabiti la hivi karibuni la Hive kutoka kwa moja ya vioo vya upakuaji vya Apache (ona Matoleo ya Hive) Kisha mpira wa lami lazima ufunguliwe. Hii itaunda folda ndogo inayoitwa hive-xyz (ambapo xyz ndio nambari ya kutolewa):
Weka utofauti wa mazingira HIVE_HOME ili kuelekeza kwenye saraka ya usakinishaji:
Hatimaye, ongeza $HIVE_HOME/bin kwenye yako PATH
:
2. Mzinga wa Kukimbia
Hive hutumia Hadoop, kwa hivyo:
- lazima uwe na Hadoop kwenye njia yako AU
3. Uendeshaji wa DLL
Kuunda Jedwali la Hive
hutengeneza jedwali linaloitwa pokes na safu wima mbili, ya kwanza ambayo ni nambari kamili na ya pili ambayo ni kamba.
Kuvinjari kupitia Majedwali
Kuorodhesha Majedwali Yote
Kubadilisha na Kuangusha Meza
Majina ya jedwali yanaweza kubadilishwa na safu wima zinaweza kuongezwa au kubadilishwa:
Inafaa kukumbuka kuwa REPLACE COLUMNS inachukua nafasi ya safu wima zote zilizopo huku ikibadilisha tu muundo wa jedwali na sio data. SerDe asili lazima itumike kwenye jedwali. KUBADILISHA safu wima pia inaweza kutumika kuondoa safu wima kutoka kwa mpangilio wa jedwali:
Kuangusha Meza
Kuna shughuli nyingi za ziada na vipengele katika Apache Hive ambavyo unaweza kujifunza kuhusu kwa kutembelea tovuti rasmi.
Hitimisho
Ufafanuzi wa Hive ni kiolesura cha programu cha data kwa ajili ya kuuliza na kuchanganua hifadhidata kubwa ambazo zimejengwa juu ya Apache Hadoop. Wataalamu huichagua juu ya programu, zana, na programu zingine kwani imeundwa haswa kwa data ya kina ya Hive na ni rahisi kutumia.
Tunatumahi kuwa somo hili litakusaidia kuanza na Apache Hive na kufanya utiririshaji wako wa kazi kuwa mzuri zaidi. Tujulishe kwenye maoni.
Acha Reply