hadoop mapreduce tutorial with examples what is mapreduce
V tej vadnici bomo razumeli, kaj je MapReduce, njegove prednosti in kako deluje Hadoop Map Reduce s primeri:
kaj od naštetega je pot do gumba 'posnetek zaslona'?
V prejšnji vadnici smo spoznali Hadoop HDFS in mehanizme branja in pisanja. Zdaj pa raziščimo še eno komponento Hadoop, tj. MapReduce.
Podrobneje si oglejmo naslednje:
- Kaj je MapReduce?
- Njegove prednosti
- Kakšen je natančen pristop MapReduce?
=> Obiščite tukaj za ekskluzivno serijo vadnic za usposabljanje BigData.
Kaj se boste naučili:
Kaj je MapReduce?
Gremo naprej in začnimo s Hadoop Components. Kot smo že pojasnili, obstajata dve glavni komponenti Hadoopa, to sta Hadoop HDFS in Hadoop Map Reduce.
Hadoop HDFS je sistem za distribucijo datotek, ki se uporablja za shranjevanje velike količine podatkov v več omarah.
Tu bomo razpravljali o procesorski enoti Hadoop, tj. MapReduce.
Naslednje vprašanje, ki se pojavi, je 'kaj je Map Reduce in zakaj je to potrebno?'
Hadoop MapReduce je “Enota za obdelavo” in z uporabo te komponente lahko obdelujemo velike podatke, shranjene na Hadoop HDFS.
Kakšna pa je natančna zahteva? Zakaj potrebujemo to komponento Hadoopa?
Veliki podatki, shranjeni na Hadoop HDFS, se tradicionalno ne shranjujejo. Podatki se razdelijo na koščke podatkov, shranjenih v ustreznih DataNodes. Torej celotni podatki niso shranjeni na enem centraliziranem mestu.
Zato izvorna odjemalska aplikacija, kot je Java ali katera koli taka aplikacija, ne more obdelati podatkov v trenutni obliki, zato potrebujemo poseben okvir, ki lahko obdela fragmentirane podatkovne bloke, shranjene v ustreznih DataNodes.
Obdelava poteka z uporabo obdelave Hadoop MapReduce.
Zemljevid se na kratko zmanjša
Zgornji diagram daje pregled Map Reduce, njegovih funkcij in uporabe.
Začnimo z aplikacijami MapReduce in kje se uporablja. Na primer, se uporablja za Klasifikatorji, indeksiranje in iskanje in Ustvarjanje Priporočilni motorji na spletnih mestih za e-poslovanje (Flipkart, Amazon itd.) Uporablja se tudi kot Analitika več podjetij.
Ko gledamo s perspektive lastnosti, je to Model programiranja in se lahko uporablja za Razširjeno v velikem obsegu Model kot Hadoop HDFS in ima zmožnost vzporednega programiranja, zaradi česar je zelo uporaben.
Ko vidimo funkcije v Map Reduce, se zaženeta dve funkciji, tj. Funkcija Map in Reduce.
To tehnologijo so uvedle večje organizacije, kot so Google, Yahoo, Facebook, Apache Hadoop pa jo je sprejel tudi HDFS, PIG, HIVE in za shranjevanje podatkov ali izvajanje in obdelavo velikih podatkov z uporabo HBase, ki je znana tudi kot No-SQL.
Prednosti Map-Reduce
Ta tehnologija ima dve prednosti.
# 1) Vzporedna obdelava
Prva prednost je vzporedna obdelava. Z uporabo Map Reduce lahko podatke vedno obdelujemo vzporedno.
Kot je prikazano na zgornjem diagramu, obstaja pet podrejenih strojev in na teh strojih je nekaj podatkov. Tu se podatki vzporedno obdelujejo s pomočjo Hadoop Map Reduce in tako obdelava postane hitra.
Tu se dejansko zgodi, da celotni del podatkov Hadoop HDFS razdeli na HDFS Block in Map-Reduce obdela te dele podatkov in tako obdelava postane hitra.
# 2) Lokacija podatkov
To je ena vsestranska stvar, ki jo daje Hadoop MapReduce, tj.podatke lahko obdelujemo tam, kjer so.
Kaj to pomeni?
V prejšnji vadnici HDFS smo razumeli, da se podatki, ki smo jih premaknili v gručo Hadoop, razdelijo na bloke HDFS in ti bloki se shranijo v SlaveMachines ali DataNodes. Map-Reduce zazna obdelavo in logiko do ustreznih podrejenih vozlišč ali podatkovnih vozlišč, kjer so podatki kot bloki HDFS.
Obdelava se izvede na manjšem delu podatkov na več lokacijah vzporedno. To prihrani veliko časa in pasovno širino omrežja, ki je potrebna za selitev velikih podatkov z ene lokacije na drugo.
Ne pozabite, da so podatki, ki jih obdelujemo, veliki podatki, razdeljeni na koščke in če začnemo velike podatke premikati neposredno po dodeljenih omrežnih kanalih v centraliziran stroj in jih obdelovati, potem nam ne bodo dali prednosti, saj bomo porabili celotna pasovna širina pri selitvi podatkov na centraliziran strežnik.
Prednosti:
Torej z uporabo Hadoop MapReduce ne delamo samo “Vzporedna obdelava” , podatke obdelujemo tudi na ustrezna podrejena vozlišča ali DataNodes, kjer so prisotni deli podatkov, zato smo tudi 'Prihranek veliko pasovne širine omrežja' kar je zelo koristno.
Na koncu SlaveMachines končajo z obdelavo podatkov, shranjenih na SlaveMachines, in rezultate pošljejo nazaj v Master Machine, saj rezultati niso tako veliki kot bloki, ki so bili shranjeni na SlaveMachines. Zato ne bo izkoriščala veliko pasovne širine.
Slave Machines pošljejo rezultat nazaj na Master Machine, ti se seštejejo skupaj in končni rezultat se pošlje nazaj na odjemalski stroj, ki je oddal delo.
Tu se zastavlja eno vprašanje - kdo odloča, katere podatke je treba obdelati na katerem DataNode?
Naročnik predloži opravilo upravitelju virov, upravitelj virov pa je tisti, ki daje navodila za izvedbo opravila na ustreznih podatkovnih vozliščih, v katerih prebivajo podatki, in se odloči na podlagi najbližjega podatkovnega vozlišča, ki je na voljo, tako da je veliko omrežja Pasovna širina se ne uporablja.
Tradicionalni vs. MapReduce Way
Da bi to razložili, bomo v resnici izvedli analogijo števila prijav zavarovalcev, saj bi bili vsi seznanjeni s politikami zavarovalnic, saj ima večina velikih zavarovalnic svoje podružnice v različnih mestih.
V teh poslovalnicah je „n“ število ljudi, ki so zaprosili za politike življenjskega zavarovanja.
Vzemimo scenarij, ko imamo pet podružnic zavarovalnic, kamor ljudje pridejo in zaprosijo za politike življenjskega zavarovanja. Zdaj imamo tudi en sedež te zavarovalnice, ki ima vse informacije o podružnicah, ki so na voljo in se nahajajo.
Ko pa ljudje pridejo in zaprosijo za polico življenjskega zavarovanja v ustreznih podružnicah A, B, C, D, E, se vloge za police hranijo v posameznih podružnicah in se ti podatki ne delijo s sedežem zavarovalnice.
Tradicionalni način:
Poglejmo, kako se ljudje tradicionalno prijavljajo za to politiko. Da bi to težavo rešili tradicionalno, bodo vse prijave preseljene na sedež zavarovalnice, nato pa se bo začel postopek prijave.
V tem primeru moramo vse prijave prestaviti na sedež zavarovalnice, kar je draga zadeva, torej moramo vse prijave zbrati iz podružnic zavarovalnice in jih odpeljati na sedež zavarovalnice.
Tako so vključeni stroški in ogromna prizadevanja pri tej dejavnosti.
Drug vidik tega je preobremenjeni sedež zavarovalnice, saj mora obdelati vse prijave, ki so jih ljudje uporabili za police v posameznih podružnicah.
Ker zavarovalnica obravnava prijave, ki so bile prijavljene v vseh poslovalnicah, bo trajalo dolgo. Na koncu ta postopek ne deluje zelo dobro.
MapReduce Way
Poglejmo, kako Map-Reduce reši to težavo.
MapReduce sledi Data Locality, tj. Vseh vlog ne bo pripeljal na sedež zavarovalnice, temveč bo vzporedno opravljal obdelavo vlog v posameznih podružnicah.
Ko so vloge, ki so bile prijavljene za vsako podružnico, obdelane, pošljejo obdelane podatke na sedež zavarovalnice.
Sedaj mora sedež zavarovalnice zgolj združiti število obdelanih vlog, poslanih iz posameznih podružnic, in podatke shraniti v njihovi zbirki podatkov ali zbirki podatkov.
kaj je najboljši brezplačni prenosnik glasbe
Na ta način bo obdelava zelo enostavna in hitra, zavarovanci pa bodo v kratkem dobili ugodnosti.
Zemljevid podrobno zmanjša
V našem prejšnjem primeru smo imeli vhod (aplikacije), ki so bili razdeljeni med različne veje, vsak vnos pa je obdelala ustrezna funkcija zemljevida.
Vemo, da ima MapReduce dve funkciji, to sta Funkcija zemljevida in Funkcija zmanjšanja.
Obdelovalni del, ki je bil opravljen na posameznih vejah, je opravila funkcija Zemljevid. Tako je bil vsak vhod (aplikacija) v vsaki podružnici obdelan s funkcijo Map, nato so bili obdelani podatki poslani na sedež zavarovalnice, del združevanja pa izvede funkcija Reduce.
Skupni podatki o obdelani aplikaciji so podani kot rezultat.
To se je zgodilo v našem prejšnjem primeru. Celoten postopek je bil razdeljen na nalogo Map and Reduce Task.
Opravilo zemljevida dobi vhod in izhod opravila zemljevida je podan reducirani nalogi kot vhod in to zmanjšanje opravila končno da izhod odjemalcu.
Da bi to bolje razumeli, pojdimo skozi anatomijo MapReduce.
Naloga MapReduce deluje na paru ključ-vrednost, zato, ko govorimo o zemljevidu, vzame vhod kot ključ-vrednost in izhod poda kot seznam ključ-vrednost. Ta seznam ključ-vrednost gre skozi fazo naključnega predvajanja, vnos ključa in seznam vrednosti pa na reduktor.
Na koncu nam reduktor prikaže seznam parov ključ-vrednost.
Primer MapReduce - postopek štetja besed
Vzemimo še en primer, tj. Štetje besed obdelajte na način MapReduce. Ta primer je enak uvodnemu primeru programiranja Java, tj. 'Hello World'.
Glede na diagram smo imeli vhod in ta vhod se razdeli ali razdeli na različne vhode. Torej se ta postopek imenuje razdeljevanje vnosa in celoten vnos se razdeli na delitve podatkov, ki temeljijo na novem znaku vrstice.
Prva vrstica je prvi vhod, tj. Bigdata Hadoop MapReduce , druga vrstica je drugi vhod, tj. MapReduce Panj Bigdata podobno je za tretji vhod Hive Hadoop Hive MapReduce .
Preidimo na naslednjo fazo, to je fazo preslikave. Zdaj v fazi preslikave ustvarimo seznam parov ključ-vrednost. Torej je vnos ključ in vrednost, tu ključ ni nič drugega kot zamik številke vrstice. Številka vrstice je ključ, celotna vrstica pa vrednost.
Za vrstico 1 je odmik ključ, vrednost pa Bigdata Hadoop MapReduce . V resničnem življenju je številka vrstice ali odmik šestnajstiško število, vendar jo bomo zaradi lažjega števila šteli le kot številko 1 ali 2.
Torej bo vrstica 1 ključ, celotna vrstica pa bo vrednost. Ko gre skozi funkcijo preslikave, bo preslikava ustvarila seznam parov ključ-vrednost. Na primer, Bigdata , torej, kaj bo funkcija naredila, bo prebrala vsako besedo v vrstici in za vejico označila eno (1).
Eno (1) bo označil kot vrednost; všeč Bigdata, 1 Hadoop, 1 in MapReduce, 1 . Tu je vprašanje, zakaj za vsako besedo postavimo eno (1)?
To je zato, ker Bigdata je eno število tako Bigdata, 1 . Podobno, Hadoop, 1 in MapReduce, 1 imajo samo eno štetje, zato enega (1) označimo kot vrednost. Na enak način za drugo ali recimo vrstico 2 imamo, MapReduce Panj Bigdata .
Tako na enak način funkcija preslikave znova ustvari seznam parov ključ / vrednost zanj in tako bo glede na štetje seznam parov ključ / vrednost MapReduce, 1 panj, 1 in Bigdata, 1 .
Enako bomo dobili kot rezultat funkcije preslikave za vrstico 3, tj. Panj, 2 Hadoop, 1 in MapReduce, 1 .
Pojdimo na fazo premeščanja, v tej fazi je za vsak ključ pripravljen seznam. Faza premeščanja bo našla videz ključa Bigdata in bo na seznam dodal vrednosti. Poglejmo torej, kaj se tukaj dogaja.
Kot vidimo dve puščici, prva puščica prihaja s seznama 1, druga puščica pa s seznama 2, tako da bo rezultat Bigdata, (1,1) .
Podobno, ko vidimo besedo Hadoop , spet za Hadoop za Vrednote bo pripravljen še en seznam. Kot vidimo, dve prihajajoči puščici kažeta na mešanje, kar pomeni besedo Hadoop bo pobral s seznama 2 oziroma s seznama 3, tj. končni rezultat po premešanju bo Hadoop, (1, 1) .
Na enak način bomo dobili tudi ostale besede kot Panj, (1, 1, 1) in MapReduce, (1, 1, 1) skupaj z njihovim seznamom vrednosti ali izgovorite seznam Count glede na razpoložljivost besed na ustreznih seznamih.
Zdaj pridemo do faze zmanjševanja, v tej fazi začnemo združevanje vrednot, ki so bile prisotne na seznamu, proti vsakemu ključu. Torej za Bigdata, na seznamu sta bili prisotni dve vrednosti, tj. (enajst) tako bo predložitev teh vrednosti opravljena tako Bigdata, 2 .
Podobno za Hadoop vrednost bo vsota, tj. (enajst) oddaja bo Hadoop, 2 .
Na enak način za Panj in MapReduce, oddaja za funkcijo zmanjšanja bo Panj, 3 in MapReduce, 3 oz.
Končni rezultat bo končno poslan stranki, kot je prikazano na spodnjem diagramu 'Splošni postopek štetja besed MapReduce'
Splošni postopek MapReduce Word Count
kako odpreti datoteko .dat v oknih
Tako deluje celoten postopek štetja besed, ko uporabljate MapReduce Way.
Zaključek
V tej vadnici smo izvedeli naslednje:
- Hadoop Map Reduce je “Enota za obdelavo” Hadoopa.
- Za obdelavo velikih podatkov, ki jih hrani Hadoop HDFS, uporabljamo Hadoop Map Reduce.
- Uporablja se pri iskanju in indeksiranju, klasifikaciji, priporočilih in analitiki.
- Ima funkcije, kot so Programming Model, Vzporedno programiranje in Large Scale Distributed Model.
- Oblikovanje vzorca MapReduce so: Povzetek, klasifikacija najboljših zapisov, razvrščanje in analitika, na primer Pridružitev in izbor.
- Ima le dve funkciji to je funkcija Mapper in funkcija reduktorja.
- Vzporedna obdelava in lokacija podatkov sta dobri prednosti Hadoop MapReduce.
- Proces MapReduce je razdeljen na šest faz, to je VHOD, DELITEV, KARTIRANJE, MENJANJE, ZMANJŠANJE in KONČNI REZULTAT.
To je vse za to vadnico, v naslednjih vadnicah bomo zajeli:
- Kako MapReduce deluje z YARN in njenimi komponentami?
- Potek dela aplikacije YARN.
- Kaj je Spark in kakšna je razlika med Hadoop in Spark?
=> Tukaj preverite VSE vaje za BigData.
Priporočeno branje
- Kaj je Hadoop? Vadnica Apache Hadoop za začetnike
- Vadnica Python DateTime s primeri
- Data Mart Vadnica - Vrste, primeri in izvedba Data Mart
- Dimenzijski podatkovni model v skladišču podatkov - Vadnica s primeri
- Vadnica za dolžino polja Java s primeri kode
- Vadnica za velike podatke za začetnike | Kaj so veliki podatki?
- Vadnica za skriptiranje lupine Unix s primeri
- Vadnica za iskanje selena z besedilom z primeri