Diferența dintre Hadoop și MapReduce

Rădăcinile Hadoop datează din anul 2002, când Dough Cutting lucra la un proiect open source numit Nutch (care era folosit pentru a indexa paginile web și a utiliza paginile web indexate pentru căutare, același lucru pe care Google îl face). El se confrunta cu probleme de scalabilitate atât în ​​ceea ce privește stocarea, cât și calcularea. În 2003, Google a publicat GFS (sistemul de fișiere google) și în 2004 Nutch a creat NDFS (sistemul de fișiere distribuit de Nutch). După ce Google a anunțat MapReduce ca fiind creierul lor de calcul din spatele algoritmilor de sortare, Dough a putut rula Nutch pe NDFS și a folosit MapReduce în anul 2005 și în anul 2006 s-a născut Hadoop.

Hadoop și MapReduce! Hadoop este un ecosistem de proiecte open source, cum ar fi Hadoop Common, Hadoop sistem de fișiere distribuit (HDFS), Hadoop YARN, Hadoop MapReduce. Hadoop ca atare este un cadru open source pentru stocarea și procesarea seturilor de date uriașe. Stocarea este realizată de HDFS, iar procesarea este asigurată de MapReduce. MapReduce, pe de altă parte, este un model de programare care vă permite să procesați date uriașe stocate în Hadoop.let ne înțelegem Hadoop și MapReduce într-un detaliu în acest post.

Comparație față în cap între Hadoop Vs MapReduce (Infografie)

Mai jos este Top 5 Comparație între Hadoop și MapReduce

Diferențele cheie între Hadoop și MapReduce

Următoarea este diferența dintre Hadoop și MapReduce

  • Dacă dorim să diferențiem Hadoop și MapReduce în termenii laici, putem spune că, Hadoop este ca mașina în care ai tot ce este necesar pentru a parcurge distanțe, dar MapReduce este ca motorul mașinii, deci fără mașina un motor nu poate ' nu există, dar exteriorul mașinii se poate schimba (alte DFS (sisteme de fișiere distribuite)).
  • Ideea de bază din spatele Hadoop este că datele trebuie să fie fiabile și scalabile, fiabile, deoarece în cazul unui dezastru sau a unei defecțiuni de rețea, datele trebuie să fie disponibile tot timpul, iar acest lucru este realizat de cadrul Hadoop folosind noduri de nume și noduri de date.
  • Câteva idei de bază a nodurilor de date și a nodurilor de nume

  • Ideea de bază din spatele arhitecturii Nodului de date și Nodului de nume este arhitectura principală / sclavă unde unul stochează locația datelor (Nodul Nume), iar celălalt stochează datele în sine (Nodul de date). Datele sunt împărțite în bucăți de 64mb și salvate în blocurile de date, iar registrul acestora este păstrat la Nodul Nume. Datele sunt replicate de trei ori în mod implicit pentru fiabilitate. Vorbind despre scalabilitate, hardware-ul poate fi mărit din mers și acest lucru ajută la creșterea stocării și la crearea sistemului scalabil.
  • Acum, la MapReduce există trei faze
    1. Faza de hartă
    2. Faza de modificare
    3. Reduce faza

Să luăm un exemplu pentru a-l înțelege mai bine. MapReduce fiind un cadru de programare are, de asemenea, un program de salut mondial, dar este cunoscut sub numele de program count word în MapReduce.

Programul Numărătoare de cuvinte ne oferă perechile cheie-valoare ale cuvântului și frecvența acestuia într-un paragraf / articol sau orice sursă de date. Pentru a putea înțelege cu ușurință, să luăm mai jos drept exemple de date.

În setul de date, după cum putem vedea, avem trei cuvinte autobuz, mașină și tren. Coloana numită Input are datele așa cum avem în setul de date, coloana Output are datele în etapa intermediară în care va avea loc amestecarea.

Aici luăm divizorul ca virgulă (, ) pentru a împărți cuvintele. Splitterul poate fi virgulă sau spațiu sau o linie nouă etc.

IntrareSet de dateCA, CAR, autoturism, BUS, TREN, autobuz, tren, autobuz, TREN, BUS, buS, Mașină, autobuz, mașină, tren, mașină, autobuz, mașină
producțieConvertiți într-un alt set de date

(Valoare cheie)

(Autobuz, 1), (Mașină, 1), (autobuz, 1), (mașină, 1), (tren, 1),

(mașină, 1), (autobuz, 1), (mașină, 1), (tren, 1), (autobuz, 1),

(TREN, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(mașină, 1), (BUS, 1), (TREN, 1)

Și ieșirea din etapa intermediară de mai sus este dată reductorului și mai jos este ieșirea finală a programului.

Intrare

(ieșirea funcției Map)

Set de tupluri(Autobuz, 1), (Mașină, 1), (autobuz, 1), (mașină, 1), (tren, 1),

(mașină, 1), (autobuz, 1), (mașină, 1), (tren, 1), (autobuz, 1),

(TREN, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(mașină, 1), (BUS, 1), (TREN, 1)

producțieSe transformă într-un set mai mic de tupluri(BUS, 7),

(CAR, 7),

(TRAIN, 4)

  • Una dintre diferențele cheie ale Hadoop față de alte mari cadre de procesare a datelor este aceea că Hadoop trimite codul (cod MapReduce) către grupurile în care datele sunt stocate și nu trimite datele la cod, deoarece seturile de date vor fi în TB sau uneori în PB's va fi o sarcină obositoare de făcut.

Tabelul de comparare Hadoop vs MapReduce

Baza pentru comparațieHadoopMapReduce

Sens

Numele „Hadoop” a fost numele elefantului de jucărie al fiului lui Doug Cutting. El a numit acest proiect drept „Hadoop”, deoarece a fost ușor să-l pronunțe.Numele „MapReduce” a apărut în funcție de funcționalitatea în sine a mapării și reducerii în perechi de cheie-valoare.

Concept

Apache Hadoop este un ecosistem care oferă un mediu fiabil, scalabil și gata pentru calcularea distribuită.MapReduce este un submodul al acestui proiect, care este un model de programare și este utilizat pentru a procesa seturi de date uriașe care se află pe HDFS (sistem de fișiere distribuit Hadoop).

Pre-rechizite

Hadoop rulează pe instrumente HDFS (Sistem de fișiere distribuite Hadoop)MapReduce poate rula pe HDFS / GFS / NDFS sau orice alt sistem de fișiere distribuit, de exemplu MapR-FS

Limba

Hadoop este o colecție de toate modulele și, prin urmare, poate include și alte limbaje de programare / scriptMapReduce este scris practic în limbajul de programare Java

Cadru

Hadoop nu numai că are un cadru de stocare care stochează datele, dar creează nodul de nume și nodul de date, ci are și alte cadre care includ MapReduce în sine.MapReduce este un cadru de programare care utilizează o cheie de mapare a valorilor pentru a sorta / prelucra datele

Figura de mai jos va ajuta la diferențierea MapReduce de Hadoop.

Framework MapReduce

  • După cum putem vedea din imaginea de mai sus, MapReduce este un cadru de procesare distribuit, în timp ce Hadoop este o colecție de toate cadrele.

Concluzie - Hadoop vs MapReduce

Hadoop fiind open source a câștigat popularitate, deoarece a fost liber de utilizat, iar programatorii pot schimba codul în funcție de nevoile lor. Ecosistemul Hadoop a fost dezvoltat continuu în ultimii ani pentru a face ecosistemul cât mai fără erori.

Odată cu nevoile în continuă schimbare ale lumii, tehnologia se schimbă rapid și devine dificil să urmărești schimbările. Datele generate într-o lună sunt dublate / triplate pe măsură ce citiți acest articol, iar necesitatea unei prelucrări mai rapide a seturilor de date a dus la multe alte cadre de programare, cum ar fi MapReduce 2, Spark etc.

Articole recomandate

Acesta a fost un ghid pentru Hadoop vs MapReduce, semnificația lor, comparația dintre cap și cap, diferențele cheie, tabelul de comparare și concluzii. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Diferența dintre Hadoop și Redshift
  2. Aflați cele mai bune 6 diferențe dintre Apache Hadoop și Apache Storm
  3. Comparații între Hadoop Vs SQL
  4. Informații despre MapReduce vs Spark
  5. Hadoop vs Spark: Funcții
  6. Laravel vs Codeigniter: Funcții

Categorie: