Hive është një mjet i përdorur gjerësisht në Big Data Analytics në biznes dhe është një vend fantastik për të filluar nëse jeni i ri në Big Data. Ky mësim i Apache Hive kalon nëpër bazat e Apache Hive, pse një zgjua është e nevojshme, veçoritë e saj dhe gjithçka tjetër që duhet të dini.
Le të kuptojmë së pari kornizën Hadoop mbi të cilën është ndërtuar Apache Hive.
Apache Hadoop
Apache Hadoop është falas dhe burim të hapur platformë për ruajtjen dhe përpunimin e grupeve të të dhënave të mëdha që variojnë në madhësi nga gigabajt në petabajt. Hadoop lejon grumbullimin e kompjuterëve të shumtë për të analizuar grupe të mëdha të dhënash paralelisht, në vend që të kërkohet një kompjuter i vetëm i madh për të ruajtur dhe analizuar të dhënat.
MapReduce dhe Hadoop Distributed File System janë dy nga komponentët:
- Ulja e Hartës – MapReduce është një teknikë programimi paralel për trajtimin e vëllimeve të mëdha të të dhënave të organizuara, gjysmë të strukturuara dhe të pastrukturuara në grupimet e pajisjeve të mallrave.
- HDFS – HDFS (Hadoop Distributed File System) është një komponent kornizë Hadoop që ruan dhe përpunon të dhënat. Është një sistem skedari tolerant ndaj gabimeve që funksionon në pajisje standarde
Nën-projekte (mjete) të ndryshme në ekosistemin Hadoop, duke përfshirë Sqoop, Pig dhe Hive, përdoren për të ndihmuar modulet Hadoop.
- Zgjua – Hive është një kornizë për të shkruar skriptet e stilit SQL që kryejnë llogaritjet MapReduce.
- Derr – Pig është një gjuhë programimi procedurale që mund të përdoret për të krijuar një skript për proceset MapReduce.
- Sqoop – Sqoop është një mjet për importimin dhe eksportimin e të dhënave ndërmjet HDFS dhe RDBMS.
Çfarë është Zgjua Apache?
Apache Hive është një burim i hapur magazina e të dhënave program për leximin, shkrimin dhe menaxhimin e grupeve të mëdha të të dhënave të ruajtura direkt në Sistemin e Skedarit të Shpërndarë Apache Hadoop (HDFS) ose sisteme të tjera të ruajtjes së të dhënave si Apache HBase.
Zhvilluesit e SQL mund të përdorin Hive për të krijuar deklarata Hive Query Language (HQL) për pyetjet dhe analizat e të dhënave që janë të krahasueshme me deklaratat e zakonshme SQL. Ai u krijua për ta bërë më të lehtë programimin MapReduce duke eliminuar nevojën për të mësuar dhe shkruar kodin e gjatë Java. Në vend të kësaj, ju mund të shkruani pyetjet tuaja në HQL dhe Hive do të ndërtojë hartën dhe do të zvogëlojë funksionet për ju.
Ndërfaqja e ngjashme me SQL e Apache Hive është bërë Standardi i Artë për kryerjen e kërkimeve ad-hoc, përmbledhjen dhe analizimin e të dhënave Hadoop. Kur përfshihet në re rrjetet kompjuterike, kjo zgjidhje është veçanërisht me kosto efektive dhe e shkallëzueshme, kjo është arsyeja pse shumë firma, duke përfshirë Netflix dhe Amazon, vazhdojnë të zhvillojnë dhe përmirësojnë Apache Hive.
Histori
Gjatë kohës së tyre në Facebook, Joydeep Sen Sarma dhe Ashish Suchoo bashkë-krijuan Apache Hive. Të dy e kuptuan se për të përfituar sa më shumë nga Hadoop, do të duhej të krijonin disa detyra mjaft të komplikuara Java Map-Reduce. Ata e kuptuan se nuk do të ishin në gjendje të edukonin ekipet e tyre inxhinierike dhe analitike që po zgjerohen me shpejtësi mbi aftësitë që u duheshin për të përdorur Hadoop në të gjithë kompaninë. Inxhinierët dhe analistët përdorën shpesh SQL si një ndërfaqe përdoruesi.
Ndërsa SQL mund të plotësonte shumicën e nevojave analitike, zhvilluesit synonin gjithashtu të përfshinin programueshmërinë e Hadoop. Apache Hive u ngrit nga këto dy objektiva: një gjuhë deklarative e bazuar në SQL që gjithashtu u mundësoi zhvilluesve të sillnin skriptet dhe programet e tyre kur SQL nuk ishte e mjaftueshme.
Ai u zhvillua gjithashtu për të mbajtur meta të dhëna të centralizuara (të bazuara në Hadoop) për të gjitha grupet e të dhënave në kompani për të bërë më të lehtë ndërtimin e organizatave të drejtuara nga të dhënat.
Si funksionon Apache Hive?
Me pak fjalë, Apache Hive konverton një program hyrës të shkruar në gjuhën HiveQL (si SQL) në një ose më shumë detyra Java MapReduce, Tez ose Spark. (Të gjithë këta motorë ekzekutimi janë të pajtueshëm me Hadoop YARN.) Pas kësaj, Apache Hive i rregullon të dhënat në tabela për sistemin e skedarëve të shpërndarë Hadoop HDFS) dhe kryen detyrat në një grup për të marrë një përgjigje.
Data
Tabelat e Apache Hive janë rregulluar në të njëjtën mënyrë siç organizohen tabelat në një bazë të dhënash relacionale, me njësi të dhënash që variojnë në madhësi nga më të mëdha në më të vogla. Bazat e të dhënave përbëhen nga tabela që ndahen në ndarje, të cilat më tej ndahen në kova. HiveQL (Hive Query Language) përdoret për të hyrë në të dhënat, të cilat mund të ndryshohen ose shtohen. Të dhënat e tabelës serializohen brenda secilës bazë të dhënash dhe secila tabelë ka drejtorinë e saj HDFS.
arkitekturë
Tani do të flasim për aspektin më të rëndësishëm të Arkitekturës së Hive. Përbërësit e Apache Hive janë si më poshtë:
Metastore — Mban gjurmët e informacionit për secilën tabelë, si strukturën dhe vendndodhjen e saj. Meta të dhënat e ndarjes përfshihen gjithashtu në Hive. Kjo i lejon drejtuesit të mbajë gjurmët e progresit të grupeve të ndryshme të të dhënave të shpërndara nëpër grup. Të dhënat ruhen në një format konvencional RDBMS. Të dhënat meta të Hive janë jashtëzakonisht të rëndësishme që drejtuesi të mbajë gjurmët e të dhënave. Serveri rezervë kopjon të dhënat në baza të rregullta në mënyrë që ato të rikuperohen në rast të humbjes së të dhënave.
Shofer – Deklaratat HiveQL merren nga një drejtues, i cili funksionon si kontrollues. Me vendosjen e seancave, shoferi fillon ekzekutimin e deklaratës. Ai mban gjurmët e jetëgjatësisë dhe progresit të ekzekutivit. Gjatë ekzekutimit të një deklarate HiveQL, drejtuesi ruan meta të dhënat e kërkuara. Ai gjithashtu shërben si një pikë grumbullimi i rezultateve të të dhënave ose pyetjeve pas procesit të Reduktimit.
përpilues – Ekzekuton kompilimin e pyetjeve HiveQL. Kërkesa tani është konvertuar në një plan ekzekutimi. Detyrat janë të renditura në plan. Ai përfshin gjithashtu hapat që MapReduce duhet të ndërmarrë për të marrë rezultatin siç është përkthyer nga pyetësori. Kërkesa konvertohet në një Pemë Abstrakte sintaksore nga përpiluesi i Hive (AST). Konverton AST në një Grafik Aciklik të Drejtuar pasi kontrollon për pajtueshmërinë dhe gabimet në kohën e përpilimit (DAG).
Optimizer – Optimizon DAG duke kryer ndryshime të ndryshme në planin e ekzekutimit. Ai kombinon transformimet për efikasitet të përmirësuar, të tilla si kthimi i një tubacioni lidhjesh në një bashkim të vetëm. Për të përmirësuar shpejtësinë, optimizuesi mund të ndajë aktivitetet, të tilla si aplikimi i një transformimi në të dhëna përpara se të kryejë një operacion reduktimi.
Ekzekutues – Ekzekutuesi ekzekuton detyrat kur kompilimi dhe optimizimi të ketë mbaruar. Vendet e punës bëhen nga Ekzekutuesi.
CLI, UI dhe Serveri Thrift – Ndërfaqja e linjës së komandës (CLI) është një ndërfaqe përdoruesi që lejon një përdorues të jashtëm të komunikojë me Hive. Serveri thrift i Hive, i ngjashëm me protokollet JDBC ose ODBC, lejon klientët e jashtëm të komunikojnë me Hive përmes një rrjeti.
Siguri
Apache Hive është i integruar me sigurinë Hadoop, i cili përdor Kerberos për vërtetimin e ndërsjellë klient-server. HDFS dikton lejet për skedarët e krijuar rishtazi në Apache Hive, duke ju lejuar të miratoni nga përdoruesi, grupi dhe të tjerët.
Karakteristikat kryesore
- Hive mbështet tabela të jashtme, të cilat ju lejojnë të përpunoni të dhënat pa i ruajtur ato në HDFS.
- Gjithashtu mundëson segmentimin e të dhënave në nivelin e tabelës për të rritur shpejtësinë.
- Apache Hive plotëson në mënyrë të shkëlqyer nevojën e ndërfaqes së nivelit të ulët të Hadoop.
- Hive e bën më të lehtë përmbledhjen, kërkimin dhe analizën e të dhënave.
- HiveQL nuk kërkon ndonjë aftësi programimi; mjafton një kuptim i thjeshtë i pyetjeve SQL.
- Ne gjithashtu mund të përdorim Hive për të kryer pyetje ad-hoc për analizën e të dhënave.
- Është i shkallëzueshëm, i njohur dhe i adaptueshëm.
- HiveQL nuk kërkon ndonjë aftësi programimi; mjafton një kuptim i thjeshtë i pyetjeve SQL.
përfitimet
Apache Hive lejon raportet e fundit të ditës, vlerësimet ditore të transaksioneve, kërkimet ad-hoc dhe analizën e të dhënave. Vështrimet gjithëpërfshirëse të ofruara nga Apache Hive japin avantazhe të konsiderueshme konkurruese dhe e bëjnë më të lehtë për ju që t'i përgjigjeni kërkesave të tregut.
Këtu janë disa nga përfitimet e disponueshmërisë së një informacioni të tillë:
- Lehtësia e përdorimit – Me gjuhën e saj të ngjashme me SQL, të dhënat e kërkimit janë të thjeshta për t’u kuptuar.
- Futja e përshpejtuar e të dhënave - Për shkak se Apache Hive lexon skemën pa verifikuar llojin e tabelës ose përkufizimin e skemës, të dhënat nuk duhet të lexohen, analizohen dhe serializohen në disk në formatin e brendshëm të bazës së të dhënave. Në të kundërt, në një bazë të dhënash konvencionale, të dhënat duhet të vërtetohen sa herë që shtohen.
- Shkallueshmëri superiore, fleksibilitet dhe kosto-efektivitet – Për shkak se të dhënat ruhen në HDFS, Apache Hive mund të mbajë 100 petabajt të dhëna, duke e bërë atë një opsion shumë më të shkallëzuar sesa një bazë të dhënash tipike. Apache Hive, si një shërbim Hadoop i bazuar në renë kompjuterike, i lejon klientët të rrotullojnë me shpejtësi lart e poshtë serverët virtualë për të përmbushur ngarkesat e punës në ndryshim.
- Kapacitet i gjerë pune – Të dhënat e mëdha mund të trajtojnë deri në 100,000 pyetje në orë.
Kufizimet
- Në përgjithësi, pyetjet e Apache Hive kanë vonesë shumë të lartë.
- Mbështetja e nënpyetjeve është e kufizuar.
- Pyetjet në kohë reale dhe ndryshimet në nivel rreshti nuk disponohen në Apache Hive.
- Nuk ka mbështetje për pikëpamjet e materializuara.
- Në koshere, veprimet e përditësimit dhe fshirjes nuk mbështeten.
- Nuk është menduar për OLTP (procesi kalimtar në internet).
Fillimi me Apache Hive
Apache Hive është një partner i fortë Hadoop që thjeshton dhe riorganizon rrjedhat tuaja të punës. Për të përfituar sa më shumë nga Apache Hive, integrimi pa probleme është thelbësor. Hapi i parë është të shkoni në .
1. Kosherja e instalimit nga një lëshim i qëndrueshëm
Filloni duke shkarkuar versionin më të fundit të qëndrueshëm të Hive nga një nga pasqyrat e shkarkimit të Apache (shih Lëshimet e zgjua). Pastaj tarballi duhet të zbërthehet. Kjo do të krijojë një nënfolder të quajtur hive-xyz (ku xyz është numri i lëshimit):
Vendosni variablin e mjedisit HIVE_HOME që të tregojë direktorinë e instalimit:
Më në fund, shtoni $HIVE_HOME/bin në tuaj PATH
:
2. Vrapimi i zgjua
Hive përdor Hadoop, kështu që:
- ju duhet të keni Hadoop në rrugën tuaj OSE
3. Operacioni DLL
Krijimi i tabelës së zgjua
gjeneron një tabelë të quajtur pokes me dy kolona, e para prej të cilave është një numër i plotë dhe e dyta është një varg.
Shfletimi i tabelave
Listimi i të gjitha tabelave
Ndryshimi dhe Hedhja e Tabelave
Emrat e tabelave mund të ndryshohen dhe kolonat mund të shtohen ose zëvendësohen:
Vlen të përmendet se REPLACE COLUMNS zëvendëson të gjitha kolonat ekzistuese duke ndryshuar vetëm strukturën e tabelës dhe jo të dhënat. Një SerDe amtare duhet të përdoret në tabelë. REPLACE COLUMNS mund të përdoret gjithashtu për të hequr kolonat nga skema e një tabele:
Tabelat në rënie
Ka shumë operacione dhe veçori shtesë në Apache Hive për të cilat mund të mësoni duke vizituar faqen zyrtare të internetit.
Përfundim
Përkufizimi i Hive është një ndërfaqe programi të dhënash për kërkimin dhe analizën për grupe të mëdha të dhënash që janë ndërtuar në krye të Apache Hadoop. Profesionistët e zgjedhin atë në vend të programeve, mjeteve dhe softuerëve të tjerë pasi është krijuar kryesisht për të dhëna të gjera Hive dhe është i thjeshtë për t'u përdorur.
Shpresojmë që ky tutorial t'ju ndihmojë të filloni me Apache Hive dhe t'i bëni rrjedhat tuaja të punës më efikase. Na tregoni në komente.
Lini një Përgjigju