Hive ir uzņēmējdarbībā plaši izmantots Big Data Analytics rīks, un tā ir lieliska vieta, kur sākt, ja esat iesācējs Big Data. Šajā Apache Hive nodarbībā ir aprakstīti Apache Hive pamati, kāpēc strops ir nepieciešams, tā funkcijas un viss pārējais, kas jums jāzina.
Vispirms sapratīsim Hadoop sistēmu, uz kuras ir balstīts Apache Hive.
Apache Hadoop
Apache Hadoop ir bezmaksas un atvērtais avots platforma lielu datu kopu glabāšanai un apstrādei no gigabaitiem līdz petabaitiem. Hadoop ļauj apvienot daudzus datorus, lai paralēli analizētu milzīgas datu kopas, nevis nepieciešams viens liels dators datu glabāšanai un analīzei.
MapReduce un Hadoop izplatītā failu sistēma ir divi no komponentiem:
- MapReduce - MapReduce ir paralēlas programmēšanas tehnika, kas paredzēta liela apjoma organizētu, daļēji strukturētu un nestrukturētu datu apstrādei par preču aparatūras klasteriem.
- HDFS – HDFS (Hadoop izplatītā failu sistēma) ir Hadoop ietvara komponents, kas uzglabā un apstrādā datus. Tā ir pret kļūmēm izturīga failu sistēma, kas darbojas ar standarta aparatūru
Lai palīdzētu Hadoop moduļiem, tiek izmantoti dažādi apakšprojekti (rīki) Hadoop ekosistēmā, tostarp Sqoop, Pig un Hive.
- Strops – Hive ir ietvars SQL stila skriptu rakstīšanai, kas veic MapReduce aprēķinus.
- Cūka – Pig ir procesuālā programmēšanas valoda, ko var izmantot, lai izveidotu skriptu MapReduce procesiem.
- Sqoop - Sqoop ir rīks datu importēšanai un eksportēšanai starp HDFS un RDBMS.
Kas ir Apache strops?
Apache Hive ir atvērtā koda programma datu noliktava programma lielu datu kopu lasīšanai, rakstīšanai un pārvaldībai, kas glabājas tieši Apache Hadoop izplatītajā failu sistēmā (HDFS) vai citās datu glabāšanas sistēmās, piemēram, Apache HBase.
SQL izstrādātāji var izmantot Hive, lai izveidotu Hive Query Language (HQL) priekšrakstus datu vaicājumam un analīzei, kas ir salīdzināmi ar parastajiem SQL priekšrakstiem. Tas tika izveidots, lai atvieglotu MapReduce programmēšanu, novēršot nepieciešamību mācīties un rakstīt garu Java kodu. Tā vietā varat rakstīt savus vaicājumus HQL, un Hive izveidos karti un samazinās funkcijas jūsu vietā.
SQL līdzīgais Apache Hive interfeiss ir kļuvis par zelta standartu ad hoc meklēšanai, apkopošanai un Hadoop datu analīzei. Kad iekļauts mākonī skaitļošanas tīkli, šis risinājums ir īpaši rentabls un mērogojams, tāpēc daudzi uzņēmumi, tostarp Netflix un Amazon, turpina attīstīt un uzlabot Apache Hive.
vēsture
Laikā, kad viņi strādāja Facebook, Džoidīds Sens Sarma un Ešs Čosū kopīgi izveidoja Apache Hive. Viņi abi atzina, ka, lai maksimāli izmantotu Hadoop, viņiem ir jāizveido daži diezgan sarežģīti Java Map-Reduce uzdevumi. Viņi atzina, ka nespēs izglītot savas strauji augošās inženieru un analītikas komandas par prasmēm, kas tām būtu nepieciešamas, lai Hadoop izmantotu visā uzņēmumā. Inženieri un analītiķi bieži izmantoja SQL kā lietotāja saskarni.
Lai gan SQL varētu apmierināt lielāko daļu analītikas vajadzību, izstrādātāji arī plānoja iekļaut Hadoop programmējamību. Apache Hive radās no šiem diviem mērķiem: uz SQL balstīta deklaratīvā valoda, kas arī ļāva izstrādātājiem ieviest savus skriptus un programmas, kad ar SQL nebija pietiekami.
Tas tika izstrādāts arī, lai glabātu centralizētus metadatus (pamatojoties uz Hadoop) par visām uzņēmuma datu kopām, lai atvieglotu uz datiem balstītu organizāciju izveidi.
Kā darbojas Apache Hive?
Īsumā, Apache Hive pārveido ievades programmu, kas rakstīta HiveQL (SQL līdzīgā) valodā, vienā vai vairākos Java MapReduce, Tez vai Spark uzdevumos. (Visas šīs izpildes programmas ir saderīgas ar Hadoop YARN.) Pēc tam Apache Hive sakārto datus Hadoop izplatītās failu sistēmas HDFS tabulās) un veic uzdevumus klasterī, lai iegūtu atbildi.
Datums
Apache Hive tabulas ir sakārtotas tāpat kā tabulas relāciju datu bāzē, un datu vienību izmērs ir no lielākām līdz mazākām. Datu bāzes sastāv no tabulām, kas ir sadalītas nodaļās, kuras tālāk tiek sadalītas segmentos. HiveQL (Hive Query Language) tiek izmantots, lai piekļūtu datiem, kurus var mainīt vai pievienot. Tabulas dati tiek serializēti katrā datu bāzē, un katrai tabulai ir savs HDFS direktorijs.
arhitektūra
Tagad mēs runāsim par vissvarīgāko Hive arhitektūras aspektu. Apache Hive sastāvdaļas ir šādas:
Metastore — Tas seko informācijai par katru tabulu, piemēram, tās struktūru un atrašanās vietu. Sadalījuma metadati arī ir iekļauti Hive. Tas ļauj vadītājam sekot līdzi dažādu datu kopu norisei, kas izkliedētas klasterī. Dati tiek glabāti parastajā RDBMS formātā. Hive metadati ir ārkārtīgi svarīgi, lai vadītājs varētu sekot līdzi datiem. Rezerves serveris regulāri dublē datus, lai tos varētu atgūt datu zuduma gadījumā.
Vadītājs – HiveQL izrakstus saņem draiveris, kas darbojas kā kontrolieris. Izveidojot sesijas, vadītājs uzsāk paziņojuma izpildi. Tas seko izpilddirektora dzīves ilgumam un progresam. HiveQL paziņojuma izpildes laikā draiveris saglabā nepieciešamos metadatus. Tas kalpo arī kā datu vai vaicājuma rezultātu apkopošanas punkts pēc samazināšanas procesa.
Kompilators - Tas izpilda HiveQL vaicājumu kompilāciju. Vaicājums tagad ir pārveidots par izpildes plānu. Uzdevumi ir uzskaitīti plānā. Tajā ir iekļautas arī darbības, kas MapReduce jāveic, lai iegūtu vaicājuma pārtulkoto rezultātu. Hive kompilators (AST) vaicājumu pārveido par abstraktu sintakses koku. Pārvērš AST par virzītu aciklisku grafiku pēc saderības un kompilēšanas laika kļūdu (DAG) pārbaudes.
Optimizētājs – Tā optimizē DAG, veicot dažādas izmaiņas izpildes plānā. Tas apvieno transformācijas, lai uzlabotu efektivitāti, piemēram, savienojumu cauruļvada pārvēršana vienā savienojumā. Lai uzlabotu ātrumu, optimizētājs var sadalīt darbības, piemēram, datu pārveidošanu pirms samazināšanas darbības veikšanas.
Izpildītājs – Izpildītājs palaiž uzdevumus, kad kompilācija un optimizācija ir pabeigta. Darbus nosaka Izpildītājs.
CLI, UI un Thrift Server – Komandrindas interfeiss (CLI) ir lietotāja interfeiss, kas ļauj ārējam lietotājam sazināties ar Hive. Hive taupības serveris, līdzīgi JDBC vai ODBC protokoliem, ļauj ārējiem klientiem sazināties ar Hive, izmantojot tīklu.
Drošība
Apache Hive ir integrēts ar Hadoop drošību, kas klienta un servera savstarpējai autentifikācijai izmanto Kerberos. HDFS nosaka atļaujas jaunizveidotiem failiem pakalpojumā Apache Hive, ļaujot jums tos apstiprināt lietotājam, grupai un citiem.
Galvenās iezīmes
- Hive atbalsta ārējās tabulas, kas ļauj apstrādāt datus, neglabājot tos HDFS.
- Tas arī nodrošina datu segmentēšanu tabulas līmenī, lai palielinātu ātrumu.
- Apache Hive lieliski apmierina Hadoop zemā līmeņa saskarnes vajadzības.
- Hive atvieglo datu apkopošanu, vaicājumu iesniegšanu un analīzi.
- HiveQL neprasa nekādas programmēšanas prasmes; pietiek ar vienkāršu SQL vaicājumu izpratni.
- Mēs varam arī izmantot Hive, lai veiktu ad hoc vaicājumus datu analīzei.
- Tas ir mērogojams, pazīstams un pielāgojams.
- HiveQL neprasa nekādas programmēšanas prasmes; pietiek ar vienkāršu SQL vaicājumu izpratni.
Ieguvumi
Apache Hive nodrošina dienas beigu pārskatus, ikdienas darījumu novērtējumus, ad hoc meklēšanu un datu analīzi. Apache Hive sniegtais visaptverošais ieskats sniedz ievērojamas konkurences priekšrocības un atvieglo atbilstību tirgus prasībām.
Tālāk ir norādītas dažas priekšrocības, ko sniedz šādas informācijas pieejamība:
- Vienkārša lietošana - Izmantojot SQL līdzīgu valodu, datu vaicājumi ir vienkārši saprotami.
- Paātrināta datu ievietošana — Tā kā Apache Hive nolasa shēmu, nepārbaudot tabulas veidu vai shēmas definīciju, dati nav jālasa, jāparsē un jāserializē diskā datu bāzes iekšējā formātā. Turpretim parastajā datubāzē dati ir jāvalidē katru reizi, kad tie tiek pievienoti.
- Izcila mērogojamība, elastība un izmaksu efektivitāte - Tā kā dati tiek glabāti HDFS, Apache Hive var saturēt 100 petabaitus datu, padarot to par daudz mērogojamāku opciju nekā parasta datu bāze. Apache Hive kā uz mākoņiem balstīts Hadoop pakalpojums ļauj klientiem ātri pārvietot uz augšu un uz leju virtuālos serverus, lai apmierinātu mainīgās darba slodzes.
- Plašas darba spējas - Lielas datu kopas var apstrādāt līdz 100,000 XNUMX vaicājumu stundā.
Ierobežojumi
- Kopumā Apache Hive vaicājumiem ir ļoti augsts latentums.
- Apakšvaicājumu atbalsts ir ierobežots.
- Reāllaika vaicājumi un rindu līmeņa izmaiņas nav pieejamas Apache Hive.
- Nav atbalsta materializētiem uzskatiem.
- Stropā atjaunināšanas un dzēšanas darbības netiek atbalstītas.
- Nav paredzēts OLTP (tiešsaistes pārejas process).
Darba sākšana ar Apache Hive
Apache Hive ir spēcīgs Hadoop partneris, kas vienkāršo un racionalizē jūsu darbplūsmas. Lai iegūtu maksimālu labumu no Apache Hive, ir nepieciešama vienmērīga integrācija. Pirmais solis ir doties uz mājas lapa.
1. Instalācijas strops no stabilas izlaišanas
Sāciet, lejupielādējot jaunāko stabilo Hive laidienu no viena no Apache lejupielādes spoguļiem (sk Stropu izlaidumi). Pēc tam tarbols ir jāizpako. Tādējādi tiks izveidota apakšmape ar nosaukumu hive-xyz (kur xyz ir izlaiduma numurs):
Iestatiet vides mainīgo HIVE_HOME, lai tas norādītu uz instalācijas direktoriju:
Visbeidzot pievienojiet $HIVE_HOME/bin savam PATH
:
2. Skriešanas strops
Hive izmanto Hadoop, tāpēc:
- jums ir jābūt Hadoop jūsu ceļā VAI
3. DLL darbība
Stropu tabulas izveide
ģenerē tabulu ar nosaukumu pokes ar divām kolonnām, no kurām pirmā ir vesels skaitlis, bet otrā ir virkne.
Tabulu pārlūkošana
Visu tabulu uzskaitīšana
Tabulu mainīšana un nomešana
Tabulu nosaukumus var mainīt un kolonnas var pievienot vai aizstāt:
Ir vērts atzīmēt, ka REPLACE COLUMNS aizstāj visas esošās kolonnas, mainot tikai tabulas struktūru, nevis datus. Tabulā ir jāizmanto vietējais SerDe. REPLACE COLUMNS var izmantot arī, lai noņemtu kolonnas no tabulas shēmas:
Nolaižamās tabulas
Apache Hive ir daudz papildu darbību un funkciju, par kurām varat uzzināt, apmeklējot oficiālo vietni.
Secinājumi
Hive definīcija ir datu programmas saskarne milzīgu datu kopu vaicājumiem un analīzei, kas ir izveidotas, izmantojot Apache Hadoop. Profesionāļi izvēlas to, nevis citas programmas, rīkus un programmatūru, jo tas galvenokārt ir paredzēts Hive plašiem datiem un ir vienkārši lietojams.
Cerams, ka šī apmācība palīdzēs jums sākt darbu ar Apache Hive un padarīt jūsu darbplūsmas efektīvākas. Paziņojiet mums komentāros.
Atstāj atbildi