Kako MapReduce funkcionira? - Rad, faze i prednosti MapReducea

Sadržaj:

Anonim

Uvod u MapReduce

MapReduce je računska komponenta Hadoop okvira za jednostavno pisanje aplikacija koje paralelno obrađuju velike količine podataka i pohranjuju se na velikim klasterima jeftinih robnih strojeva na pouzdan i neispravan način. U ovoj ćemo temi saznati kako MapReduce funkcionira?

MapReduce može izvoditi raspodijeljene i paralelne račune koristeći velike skupove podataka u velikom broju čvorova. MapReduce posao obično dijeli ulazne skupove podataka, a zatim ih svaki pojedinačno obrađuje zadatcima Map na potpuno paralelan način. Izlaz se zatim sortira i unosi za smanjenje zadataka. Unos i izlaz posla pohranjuju se u datotečnim sustavima. Zadaci se planiraju i prate u okviru.

Kako funkcionira MapReduce?

MapReduce arhitektura sadrži dvije osnovne komponente kao servisi Daemon odgovorni za pokretanje zadataka preslikača i reduktora, nadgledanje i ponovno izvršavanje zadataka u slučaju neuspjeha. U Hadoopu 2 ​​nadalje Upravitelj resursa i Upravitelj čvorova su usluge daemona. Kad klijent posla posao, podnese MapReduce, ti demoni stupaju na snagu. Oni su također odgovorni za paralelnu obradu i značajke otpornosti na greške MapReduce poslova.

YARN (Još jedan pregovarač o resursima) u Hadoop-u 2 upravljanje resursima i raspoređivanje poslova ili nadzorne funkcije razdvajaju kao različite demone. U usporedbi s Hadoop-om 1 s alatom za praćenje posla i alatom za praćenje zadataka, Hadoop 2 sadrži globalni upravitelj resursa (RM) i aplikacijski master (AM) za svaku aplikaciju.

  • Klijent posla predaje posao upravitelju resursa.
  • Planer programa YARN Resource Manager odgovoran je za koordinaciju raspodjele resursa klastera među tekućim aplikacijama.
  • Upravljač čvorova YARN radi na svakom čvorištu i upravlja s resursima na razini čvora, koordinirajući s upraviteljem resursa. Pokreće i nadzire računske spremnike na stroju na klasteru.
  • Voditelj aplikacije pomaže resursima Resource Managera i koristi Node Manager za pokretanje i koordiniranje zadataka MapReduce.

  • HDFS se obično koristi za dijeljenje datoteka sa zadacima između drugih entiteta.

Faze modela MapReduce

MapReduce model ima tri glavne i jednu izbornu fazu:

1. Mapper

  • To je prva faza programiranja MapReduce i sadrži logiku kodiranja funkcije mapiranja.
  • Uvjetna se logika primjenjuje na 'n' broj blokova podataka raspoređenih u različitim čvorovima podataka.
  • Mapper funkcija prihvaća parove ključ-vrijednost kao ulaz kao (k, v), gdje ključ predstavlja offset adresu svakog zapisa i vrijednost predstavlja cjelokupni sadržaj zapisa.
  • Izlaz faze Mapper će također biti u formatu ključ-vrijednost kao (k ', v').

2. Promiješajte i razvrstajte

  • Izlaz raznih preslikača (k ', v'), zatim prelazi u fazu nasumične reprodukcije i sortiranja.
  • Sve duplicirane vrijednosti se uklanjaju, a različite vrijednosti grupiraju se na temelju sličnih ključeva.
  • Izlaz faze nasumične reprodukcije i sortiranja ponovo će biti parovi ključ-vrijednost kao ključ i niz vrijednosti (k, v ()).

3. reduktor

  • Izlaz faze nasumične reprodukcije i razvrstavanja (k, v ()) bit će ulaz faze reduktora.
  • U ovoj se fazi izvršava logika funkcije reduktora i sve se vrijednosti objedinjuju s odgovarajućim tipkama.
  • Reduktor konsolidira izlaze različite preslikavače i izračunava konačni izlaz posla.
  • Konačni izlaz tada se zapisuje u jednu datoteku u izlaznu mapu HDFS.

4. Kombinator

  • To je neobavezna faza u modelu MapReduce.
  • Faza kombinatora služi za optimizaciju performansi zadataka MapReduce.
  • U ovoj fazi različiti se izlazi kartera lokalno smanjuju na razini čvora.
  • Na primjer, ako različiti izlazi (k, v) mapiranja koji dolaze iz jednog čvora sadrže duplikate, oni se kombiniraju, tj. Lokalno smanjuju kao pojedinačni (k, v ()) izlaz.
  • Ova faza čini rad faze izmještanja i sortiranja još bržim, omogućavajući dodatni učinak u poslovima MapReduce.

Sve ove faze u MapReduce poslu mogu se prikazati kao dolje:

Na primjer, MapReduce logika za pronalaženje broja riječi u nizu riječi može se prikazati kao dolje:

ruit_array = (jabuka, naranča, jabuka, guava, grožđe, naranča, jabuka)

  • Faza mapiranja tokenizira ulazni niz riječi u 'n' broju riječi kako bi se dobio izlaz kao (k, v). Na primjer, uzmite u obzir "jabuku". Izlaz preslikača bit će (jabuka, 1), (jabuka, 1), (jabuka, 1).
  • Shuffle i Sort prihvaćaju preslikač (k, v) i grupiraju sve vrijednosti prema ključevima kao (k, v ()). tj. (jabuka, (1, 1, 1)).
  • Faza reduktora prihvaća izlazni raspored i sortiranje i daje agregat vrijednosti (jabuka, (1 + 1 + 1)), koje odgovaraju njihovim ključevima. tj. (jabuka, 3).

Špekulativno izvršavanje posla MapReduce

U brzini MapReducea dominira najsporiji zadatak. Dakle, kako bi ubrzao brzinu, novi mapir će istovremeno raditi na istom skupu podataka. Koji dovrši zadatak, prvo se smatra konačnim ishodom, a drugi je ubijen. To je tehnika optimizacije.

Prednosti MapReducea

Ovdje blagodati spominju blagodati MapReducea

1. Tolerancija na greške

  • U sredini posla smanjenja karata, ako stroj koji ima nekoliko blokova podataka ne uspije u arhitekturi, rješava neuspjeh.
  • Razmatra replicirane kopije blokova u zamjenskim strojevima za daljnju obradu.

2. Otpornost

  • Svaki čvor periodično ažurira svoj status na glavni čvor.
  • Ako podređeni čvor ne pošalje svoju obavijest, glavni čvor dodijeljuje trenutačno izvršeni zadatak tog slave čvora drugim dostupnim čvorovima u klasteru.

3. Brzo

  • Obrada podataka je brza jer MapReduce koristi HDFS kao sustav za pohranu.
  • MapReduce treba nekoliko minuta za obradu terabajta nestrukturirane velike količine podataka.

4. Paralelna obrada

  • Zadaci MapReduce paralelno dijele više komada istih skupova podataka dijeljenjem zadataka.
  • To daje prednost ispunjavanju zadatka za manje vremena.

5. Dostupnost

  • Višestruke replike istih podataka šalju se brojnim čvorovima u mreži.
  • Stoga su, u slučaju bilo kakvog kvara, ostale kopije lako dostupne za obradu bez ikakvih gubitaka.

6. Skalabilnost

  • Hadoop je visoko skalabilna platforma.
  • Tradicionalni RDBMS sustavi nisu skalabilni prema povećanju obujma podataka.
  • MapReduce omogućuje pokretanje aplikacija iz ogromnog broja čvorova, koristeći terabajte i petabajte podataka.

7. Isplativa

  • Značajka Hadoopovog skaliranja zajedno s MapReduce programiranjem omogućava pohranu i obradu podataka na vrlo učinkovit i pristupačan način.
  • Ušteda troškova može biti velika kao stotine stotina za terabajte podataka.

Zaključak - Kako funkcionira MapReduce

Moderni podaci sve više idu prema nestrukturiranom tipu, a ogromna, konvencionalna opcija obrade podataka poput RDBMS-a još je teža, dugotrajna i skupa. Ali Hadoop-ovo MapReduce programiranje mnogo je učinkovitije, sigurnije i brže u obradi velikih skupova podataka, čak i terabajta ili petabajta.

Preporučeni članci

Ovo je vodič za rad MapReducea. Ovdje smo raspravljali o fazama modela MapReduce s prednostima i kako to funkcionira. Možete također pogledati sljedeće članke da biste saznali više -

  1. Komponente ekosustava Hadoop
  2. Algoritmi MapReduce
  3. Što je MapReduce u Hadoopu?
  4. Pitanja o intervjuu MapReduce