Ce este MapReduce?

Cadrul de programare MapReduce este utilizat pentru a efectua procesări distribuite și paralele cu seturi mari de date într-un mediu distribuit. Map and Reduce sunt cele două sarcini distincte ale unui program de reducere a hărții. La început în faza de hartă, datele sunt citite și din acestea se generează perechi cheie-valoare. Apoi, aceste perechi cheie-valoare sunt încărcate în sarcina de reducere, care agregă datele perechei cheie-valoare în setul mai mic de valori care produc ieșirea finală. Astfel, o sarcină de reducere este întotdeauna implementată după finalizarea unei sarcini de hartă. Este foarte ușor să scalzi procesarea datelor pe mai multe noduri de calcul.

Există trei etape în program:

  1. Etapa de hartă
  2. Etapa Shuffle
  3. Reduceți etapa

Exemplu :

Problemă Wordcount-

Să presupunem că mai jos sunt datele de intrare:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

1. Datele de mai sus sunt împărțite în trei diviziuni de intrare, după cum urmează:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

2. Apoi, aceste date sunt introduse în următoarea fază numită fază de mapare.

Deci, pentru prima linie (Mike Jon Jake) avem 3 perechi cheie-valoare - Mike, 1; Jon, 1; Jake, 1.

Mai jos este rezultatul în faza de mapare:

  • Mike, 1
    Jon, 1
    Jake, 1
  • Pavel, 1
    Pavel, 1
    Jake, 1
  • Mike, 1
    Pavel, 1
    Jon, 1

3. Datele de mai sus sunt apoi introduse în următoarea fază numită faza de sortare și amestecare.

În această fază, datele sunt grupate în chei unice și sunt sortate. Mai jos este rezultatul în faza de sortare și amestecare:

  • Jake, (1, 1)
  • Jon, (1, 1)
  • Mike, (1, 1)
  • Pavel, (1, 1, 1)

4. Datele de mai sus sunt apoi introduse în următoarea fază numită faza de reducere.

Aici toate valorile cheie sunt agregate și numărul de 1s. Mai jos este rezultatul în faza de reducere:

  • Jake, 2
  • Jon, 2
  • Mike, 2
  • Pavel, 3

Avantajele MapReduce:

Aici aflăm câteva avantaje importante ale cadrului de programare MapReduce,

1. Scalabilitate

Hadoop ca platformă extrem de scalabilă și în mare parte datorită capacității sale de a stoca și distribui seturi de date mari pe o mulțime de servere. Serverele utilizate aici sunt destul de ieftine și pot funcționa în paralel. Puterea de procesare a sistemului poate fi îmbunătățită cu adăugarea mai multor servere. Sistemele tradiționale de gestionare a bazelor de date relaționale sau RDBMS nu au fost în măsură să se extindă pentru a procesa seturi de date uriașe.

2. Flexibilitate

Modelul de programare Hadoop MapReduce oferă flexibilitate în procesarea structurii sau a datelor nestructurate de către diverse organizații de afaceri care pot folosi datele și pot opera pe diferite tipuri de date. Astfel, acestea pot genera o valoare de afaceri din acele date care sunt semnificative și utile pentru organizații de afaceri pentru analiză. Indiferent de sursa de date, fie că este vorba despre o rețea de socializare, un flux de clic, un e-mail, etc. Hadoop oferă suport pentru o mulțime de limbi utilizate pentru prelucrarea datelor. Împreună cu toate acestea, programarea Hadoop MapReduce permite multe aplicații precum analiza de marketing, sistemul de recomandare, depozitul de date și detectarea fraudei.

3. Securitate și autentificare

Dacă orice persoană străină are acces la toate datele organizației și poate manipula mai multe petabyte ale datelor, poate face mult rău în ceea ce privește activitatea de afaceri în operațiune cu organizația de afaceri. Acest risc este abordat de modelul de programare MapReduce, prin lucrul cu hdfs și HBase, care permite o securitate ridicată, permițând doar utilizatorului aprobat să funcționeze pe datele stocate din sistem.

4. Soluție rentabilă

Un astfel de sistem este scalabil și este o soluție foarte rentabilă pentru un model de afaceri care trebuie să stocheze date care cresc exponențial în linia cerințelor actuale. În cazul vechilor sisteme tradiționale de gestionare a bazelor de date relaționale, nu a fost atât de ușor să procesați datele ca în cazul sistemului Hadoop din punct de vedere al scalabilității. În astfel de cazuri, afacerea a fost forțată să reducă dimensiunea datelor și să implementeze în continuare clasificarea pe baza ipotezelor privind cum anumite date ar putea fi valoroase pentru organizație și, prin urmare, eliminarea datelor brute. Aici arhitectura de scări Hadoop cu programare MapReduce vine la salvare.

5. Rapid

Sistemul de fișiere distribuit Hadoop HDFS este o caracteristică cheie utilizată în Hadoop, care practic implementează un sistem de mapare pentru a localiza datele într-un cluster. Programarea MapReduce este instrumentul utilizat pentru prelucrarea datelor și este localizat și în același server care permite procesarea mai rapidă a datelor. Hadoop MapReduce procesează volume mari de date care nu sunt structurate sau semi-structurate în mai puțin timp.

6. Un model simplu de programare

Programarea MapReduce se bazează pe un model de programare foarte simplu, care permite practic programatorilor să dezvolte un program MapReduce care să poată gestiona mai multe sarcini cu mai multă ușurință și eficiență. Modelul de programare MapReduce este scris folosind limbajul Java este foarte popular și foarte ușor de învățat. Este ușor pentru oameni să învețe programarea Java și să proiecteze modelul de procesare a datelor care să răspundă nevoilor lor de afaceri.

7. Prelucrare paralelă

Modelul de programare împarte sarcinile într-o manieră care permite executarea sarcinii independente în paralel. Prin urmare, această procesare paralelă face mai ușoară procesul de asumare a fiecăreia dintre sarcinile care ajută la rularea programului în mult mai puțin timp.

8. Disponibilitate și natură rezistentă

Modelul de programare Hadoop MapReduce procesează datele trimițând datele către un nod individual, precum și redirecționând același set de date celorlalte noduri aflate în rețea. Drept urmare, în caz de eșec într-un anumit nod, aceeași copie de date este încă disponibilă pe celelalte noduri care pot fi utilizate ori de câte ori este necesar să se asigure disponibilitatea datelor.
În acest fel, Hadoop este tolerant la erori. Aceasta este o funcționalitate unică oferită în Hadoop MapReduce că este capabil să recunoască rapid defectul și să aplice o soluție rapidă pentru o soluție de recuperare automată.

Există multe companii de pe glob care utilizează hartă-reducere precum facebook, yahoo etc.

Concluzie - Ce este MapReduce

Reducerea hărții are o capacitate mare atunci când vine vorba de prelucrări mari de date, comparativ cu sistemele tradiționale RDBMS. Multe organizații și-au dat deja seama de potențialul acesteia și se îndreaptă către această nouă tehnologie. În mod clar, map-reduce are foarte mult timp de parcurs într-o mare platformă de procesare a datelor.

Articole recomandate

Acesta a fost un ghid pentru Ce este MapReduce. Aici am discutat despre conceptul de bază, exemple și avantajele MapReduce. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este JavaScript?
  2. Întrebări la interviu MapReduce
  3. Ce este Python
  4. Cum funcționează MapReduce
  5. Ce este Big Data și Hadoop

Categorie: