Offeryn Dadansoddi Data Mawr a ddefnyddir yn helaeth yn y busnes yw Hive, ac mae'n lle gwych i ddechrau os ydych yn newydd i Data Mawr. Mae'r wers Apache Hive hon yn mynd trwy hanfodion Apache Hive, pam mae angen cwch gwenyn, ei nodweddion, a phopeth arall y dylech chi ei wybod.
Yn gyntaf, gadewch i ni ddeall y fframwaith Hadoop y mae Apache Hive wedi'i adeiladu arno.
Apache Hadoop
Mae Apache Hadoop yn rhad ac am ddim ac ffynhonnell agored llwyfan ar gyfer storio a phrosesu setiau data mawr yn amrywio o ran maint o gigabeit i petabytes. Mae Hadoop yn caniatáu clystyru nifer o gyfrifiaduron i ddadansoddi setiau data enfawr ochr yn ochr, yn hytrach na gofyn am un cyfrifiadur mawr i storio a dadansoddi'r data.
Mae MapReduce a System Ffeil Ddosbarthedig Hadoop yn ddwy o'r cydrannau:
- MapLleihau - Mae MapReduce yn dechneg raglennu gyfochrog ar gyfer trin llawer iawn o ddata trefnus, lled-strwythuredig ac anstrwythuredig ar glystyrau caledwedd nwyddau.
- HDFS - Mae HDFS (System Ffeiliau Dosbarthedig Hadoop) yn gydran fframwaith Hadoop sy'n storio ac yn prosesu data. Mae'n system ffeiliau sy'n goddef namau sy'n rhedeg ar galedwedd safonol
Defnyddir gwahanol is-brosiectau (offer) yn ecosystem Hadoop, gan gynnwys Sqoop, Pig, a Hive, i gynorthwyo modiwlau Hadoop.
- The Hive - Mae Hive yn fframwaith ar gyfer ysgrifennu sgriptiau arddull SQL sy'n perfformio cyfrifiannau MapReduce.
- Pig – Mae Pig yn iaith raglennu weithdrefnol y gellir ei defnyddio i greu sgript ar gyfer prosesau MapReduce.
- Sgwpio – Offeryn yw Sqoop ar gyfer mewnforio ac allforio data rhwng HDFS ac RDBMS.
Beth yw Cwch gwenyn Apache?
Mae Apache Hive yn ffynhonnell agored warws data rhaglen ar gyfer darllen, ysgrifennu, a rheoli setiau data enfawr sy'n cael eu storio'n uniongyrchol yn System Ffeil Ddosbarthedig Apache Hadoop (HDFS) neu systemau storio data eraill fel Apache HBase.
Gall datblygwyr SQL ddefnyddio Hive i greu datganiadau Hive Query Language (HQL) ar gyfer ymholi a dadansoddi data sy'n debyg i ddatganiadau SQL rheolaidd. Fe'i crëwyd i wneud rhaglennu MapReduce yn haws trwy ddileu'r angen i ddysgu ac ysgrifennu cod Java hir. Yn lle hynny, gallwch ysgrifennu eich ymholiadau yn HQL, a bydd Hive yn adeiladu'r map ac yn lleihau'r swyddogaethau i chi.
Mae rhyngwyneb tebyg i SQL o Apache Hive wedi dod yn Safon Aur ar gyfer perfformio chwiliadau ad-hoc, crynhoi, a dadansoddi data Hadoop. Pan gaiff ei gynnwys yn y cwmwl rhwydweithiau cyfrifiadurol, mae'r ateb hwn yn arbennig o gost-effeithiol a graddadwy, a dyna pam mae llawer o gwmnïau, gan gynnwys Netflix ac Amazon, yn parhau i ddatblygu a gwella Apache Hive.
Hanes
Yn ystod eu hamser yn Facebook, cyd-greodd Joydeep Sen Sarma ac Ashish Thusoo Apache Hive. Roedd y ddau yn cydnabod y byddai'n rhaid iddyn nhw greu rhai tasgau Java Map-Reduce braidd yn gymhleth er mwyn cael y gorau o Hadoop. Roeddent yn cydnabod na fyddent yn gallu addysgu eu timau peirianneg a dadansoddol sy'n ehangu'n gyflym ar y sgiliau y byddai eu hangen arnynt i drosoli Hadoop ar draws y cwmni. Roedd peirianwyr a dadansoddwyr yn aml yn defnyddio SQL fel rhyngwyneb defnyddiwr.
Er y gallai SQL fodloni'r mwyafrif o anghenion dadansoddeg, roedd y datblygwyr hefyd yn bwriadu ymgorffori rhaglenadwyedd Hadoop. Deilliodd Apache Hive o'r ddau amcan hyn: iaith ddatganiadol yn seiliedig ar SQL a oedd hefyd yn galluogi datblygwyr i ddod â'u sgriptiau a'u rhaglenni eu hunain i mewn pan nad oedd SQL yn ddigon.
Fe'i datblygwyd hefyd i gadw metadata canolog (seiliedig ar Hadoop) am yr holl setiau data yn y cwmni i'w gwneud yn haws adeiladu sefydliadau sy'n cael eu gyrru gan ddata.
Sut mae Apache Hive yn gweithio?
Yn gryno, mae Apache Hive yn trosi rhaglen fewnbwn a ysgrifennwyd yn yr iaith HiveQL (tebyg i SQL) yn un neu fwy o dasgau Java MapReduce, Tez, neu Spark. (Mae pob un o'r peiriannau gweithredu hyn yn gydnaws â Hadoop YARN.) Ar ôl hynny, mae Apache Hive yn trefnu'r data yn dablau ar gyfer System Ffeil Ddosbarthedig Hadoop HDFS) ac yn perfformio'r tasgau ar glwstwr i gael ateb.
Dyddiad
Mae tablau Apache Hive yn cael eu trefnu yn yr un ffordd ag y trefnir tablau mewn cronfa ddata berthynol, gydag unedau data yn amrywio o ran maint o fwy i lai. Mae cronfeydd data yn cynnwys tablau sydd wedi'u rhannu'n adrannau, sy'n cael eu rhannu ymhellach yn fwcedi. Defnyddir HiveQL (Hive Query Language) i gael mynediad at y data, y gellir ei newid neu ei atodi. Mae data tabl yn gyfresol o fewn pob cronfa ddata, ac mae gan bob tabl ei gyfeiriadur HDFS ei hun.
pensaernïaeth
Nawr byddwn yn siarad am yr agwedd bwysicaf ar Bensaernïaeth Hive. Mae cydrannau Apache Hive fel a ganlyn:
Metastore — Mae'n cadw golwg ar wybodaeth am bob tabl, megis ei strwythur a'i leoliad. Mae'r metadata rhaniad hefyd wedi'i gynnwys yn Hive. Mae hyn yn galluogi’r gyrrwr i gadw golwg ar gynnydd setiau data gwahanol sydd wedi’u gwasgaru ar draws y clwstwr. Mae'r data'n cael ei storio mewn fformat RDBMS confensiynol. Mae metadata cwch gwenyn yn hynod bwysig i'r gyrrwr gadw golwg ar y data. Mae'r gweinydd wrth gefn yn dyblygu data yn rheolaidd fel y gellir ei adennill os collir data.
gyrrwr - Derbynnir datganiadau HiveQL gan yrrwr, sy'n gweithredu fel rheolydd. Trwy sefydlu sesiynau, mae'r gyrrwr yn cychwyn gweithredu'r datganiad. Mae'n cadw golwg ar hyd oes a chynnydd y weithrediaeth. Yn ystod gweithrediad datganiad HiveQL, mae'r gyrrwr yn arbed y metadata gofynnol. Mae hefyd yn bwynt casglu canlyniadau data neu ymholiad yn dilyn y broses Lleihau.
Casglwr – Mae'n gweithredu'r casgliad ymholiad HiveQL. Mae'r ymholiad bellach wedi'i drawsnewid yn gynllun gweithredu. Rhestrir y tasgau yn y cynllun. Mae hefyd yn cynnwys y camau y mae'n rhaid i MapReduce eu cymryd i gael y canlyniad fel y'i cyfieithwyd gan yr ymholiad. Trosir yr ymholiad yn Goeden Cystrawen Haniaethol gan gasglwr Hive (AST). Yn trosi'r AST yn Graff Acyclic Cyfeiriedig ar ôl gwirio am gydnawsedd a diffygion amser llunio (DAG).
Optimizer - Mae'n gwneud y gorau o DAG trwy berfformio gwahanol newidiadau i'r cynllun gweithredu. Mae'n cyfuno trawsnewidiadau ar gyfer gwell effeithlonrwydd, megis troi piblinell o uniadau yn uniad sengl. Er mwyn gwella cyflymder, gallai'r optimizer rannu gweithgareddau, megis cymhwyso trawsnewidiad i ddata cyn perfformio gweithrediad lleihau.
Ysgutor - Mae'r ysgutor yn rhedeg y tasgau pan fydd y casglu a'r optimeiddio wedi'u gorffen. Mae'r swyddi ar y gweill gan yr Ysgutor.
CLI, UI, a Thrift Server - Mae'r rhyngwyneb llinell orchymyn (CLI) yn rhyngwyneb defnyddiwr sy'n caniatáu i ddefnyddiwr allanol gyfathrebu â Hive. Mae gweinydd clustog Fair Hive, sy'n debyg i brotocolau JDBC neu ODBC, yn caniatáu i gleientiaid allanol gyfathrebu â Hive trwy rwydwaith.
diogelwch
Mae Apache Hive wedi'i integreiddio â diogelwch Hadoop, sy'n defnyddio Kerberos ar gyfer cyd-ddilysu cleient-gweinyddwr. Mae'r HDFS yn pennu caniatâd ar gyfer ffeiliau sydd newydd eu cynhyrchu yn Apache Hive, sy'n eich galluogi i gymeradwyo gan y defnyddiwr, y grŵp, ac eraill.
nodweddion allweddol
- Mae Hive yn cefnogi tablau allanol, sy'n caniatáu ichi brosesu data heb ei storio yn HDFS.
- Mae hefyd yn galluogi segmentu data ar lefel y tabl i gynyddu cyflymder.
- Mae Apache Hive yn bodloni anghenion rhyngwyneb lefel isel Hadoop yn wych.
- Mae Hive yn ei gwneud hi'n haws crynhoi, cwestiynu a dadansoddi data.
- Nid oes angen unrhyw sgiliau rhaglennu ar HiveQL; mae dealltwriaeth syml o ymholiadau SQL yn ddigon.
- Gallwn hefyd ddefnyddio Hive i gynnal ymholiadau ad-hoc ar gyfer dadansoddi data.
- Mae'n raddadwy, yn gyfarwydd ac yn addasadwy.
- Nid oes angen unrhyw sgiliau rhaglennu ar HiveQL; mae dealltwriaeth syml o ymholiadau SQL yn ddigon.
Manteision
Mae Apache Hive yn caniatáu ar gyfer adroddiadau diwedd dydd, gwerthusiadau trafodion dyddiol, chwiliadau ad-hoc, a dadansoddi data. Mae'r mewnwelediadau cynhwysfawr a ddarperir gan Apache Hive yn rhoi manteision cystadleuol sylweddol ac yn ei gwneud hi'n haws i chi ymateb i ofynion y farchnad.
Dyma rai o fanteision cael gwybodaeth o’r fath ar gael yn rhwydd:
- Rhwyddineb defnydd - Gyda'i iaith debyg i SQL, mae cwestiynu data yn hawdd i'w ddeall.
- Mewnosod data cyflymach — Gan fod Apache Hive yn darllen y sgema heb wirio'r math o dabl neu ddiffiniad sgema, nid oes rhaid darllen, dosrannu, a chyfresi data i ddisg yn fformat mewnol y gronfa ddata. Mewn cyferbyniad, mewn cronfa ddata gonfensiynol, rhaid dilysu data bob tro y caiff ei ychwanegu.
- Ehangder gwell, hyblygrwydd, a chost-effeithiolrwydd - Oherwydd bod data'n cael ei storio yn yr HDFS, gall Apache Hive ddal 100au o petabytes o ddata, gan ei wneud yn opsiwn llawer mwy graddadwy na chronfa ddata arferol. Mae Apache Hive, fel gwasanaeth Hadoop yn y cwmwl, yn galluogi cwsmeriaid i droelli i fyny ac i lawr gweinyddwyr rhithwir yn gyflym i gwrdd â llwythi gwaith cyfnewidiol.
- Gallu gweithio helaeth – Gall setiau data mawr ymdrin â hyd at 100,000 o ymholiadau yr awr.
Cyfyngiadau
- Yn gyffredinol, mae gan ymholiadau Apache Hive hwyrni uchel iawn.
- Mae cefnogaeth subquery yn gyfyngedig.
- Nid yw ymholiadau amser real a newidiadau lefel rhes ar gael yn Apache Hive.
- Nid oes unrhyw gefnogaeth i safbwyntiau wedi'u gwireddu.
- Yn y cwch, ni chefnogir gweithredoedd diweddaru a dileu.
- Heb ei fwriadu ar gyfer OLTP (proses drosiannol ar-lein).
Dechrau arni gyda Apache Hive
Mae Apache Hive yn bartner Hadoop cryf sy'n symleiddio ac yn symleiddio'ch llifoedd gwaith. Er mwyn cael y gorau o Apache Hive, mae integreiddio di-dor yn hanfodol. Y cam cyntaf yw mynd i'r wefan.
1. Gosod Hive o Rhyddhad Sefydlog
Dechreuwch trwy lawrlwytho'r datganiad sefydlog diweddaraf o Hive o un o ddrychau lawrlwytho Apache (gweler Rhyddhau Hive). Rhaid dadbacio'r tarball wedyn. Bydd hyn yn creu is-ffolder o'r enw hive-xyz (lle mae xyz yn rhif rhyddhau):
Gosodwch y newidyn amgylchedd HIVE_HOME i bwyntio at y cyfeiriadur gosod:
Yn olaf, ychwanegwch $HIVE_HOME/bin at eich PATH
:
2. Rhedeg Hive
Mae Hive yn defnyddio Hadoop, felly:
- mae'n rhaid bod gennych Hadoop yn eich llwybr NEU
3. Gweithrediad DLL
Creu Bwrdd Hive
yn cynhyrchu tabl o'r enw pokes gyda dwy golofn, y gyntaf yn gyfanrif a'r ail yn llinyn.
Pori trwy Dablau
Rhestru'r holl Dablau
Addasu a Gollwng Tablau
Gellir newid enwau tablau a gellir ychwanegu neu ddisodli colofnau:
Mae'n werth nodi bod REPLACE COLUMNS yn disodli'r holl golofnau presennol tra'n newid strwythur y tabl yn unig ac nid y data. Rhaid defnyddio SerDe brodorol yn y tabl. Gellir defnyddio COLOFNAU YN LLE hefyd i dynnu colofnau o sgema tabl:
Byrddau gollwng
Mae yna lawer o weithrediadau a nodweddion ychwanegol yn Apache Hive y gallwch chi ddysgu amdanyn nhw trwy ymweld â'r wefan swyddogol.
Casgliad
Mae diffiniad Hive yn rhyngwyneb rhaglen ddata ar gyfer ymholi a dadansoddi ar gyfer setiau data enfawr sydd wedi'u hadeiladu ar ben Apache Hadoop. Mae gweithwyr proffesiynol yn ei ddewis dros raglenni, offer a meddalwedd eraill gan ei fod wedi'i gynllunio'n bennaf ar gyfer data helaeth Hive a'i fod yn syml i'w ddefnyddio.
Gobeithio y bydd y tiwtorial hwn yn eich helpu i gychwyn gydag Apache Hive a gwneud eich llifoedd gwaith yn fwy effeithlon. Rhowch wybod i ni yn y sylwadau.
Gadael ymateb