MapReduce în Hadoop: faze, intrări și ieșiri, funcții și avantaje

Publicat: 2020-12-24

Hadoop MapReduce este un model de programare și un cadru software utilizat pentru scrierea aplicațiilor care procesează cantități mari de date. Există două faze în programul MapReduce, Map și Reduce.

Sarcina Hartă include împărțirea și maparea datelor prin luarea unui set de date și conversia acestuia într-un alt set de date, unde elementele individuale sunt împărțite în tupluri, adică perechi cheie/valoare. După care sarcina Reduce amestecă și reduce datele, ceea ce înseamnă că combină tuplurile de date pe baza cheii și modifică valoarea cheii în consecință.

În cadrul Hadoop, modelul MapReduce este componenta de bază pentru procesarea datelor. Folosind acest model, este foarte ușor să scalați o aplicație pentru a rula peste sute, mii și multe alte mașini dintr-un cluster, doar făcând o modificare a configurației. Acest lucru se datorează și faptului că programele modelului în cloud computing sunt de natură paralelă. Hadoop are capacitatea de a rula MapReduce în multe limbi, cum ar fi Java, Ruby, Python și C++. Citiți mai multe despre arhitectura mapreduce.

Cuprins

Intrări și ieșiri

Modelul MapReduce operează pe perechi <cheie, valoare>. Acesta vede intrarea în joburi ca un set de perechi <key, value> și produce un set diferit de perechi <key, value> ca rezultat al joburilor. Intrarea datelor este suportată de două clase în acest cadru, și anume InputFormat și RecordReader.

Primul este consultat pentru a determina modul în care datele de intrare ar trebui să fie partiționate pentru sarcinile de hartă, în timp ce cel din urmă citește datele din intrări. De asemenea, pentru ieșirea datelor există două clase, OutputFormat și RecordWriter. Prima clasă efectuează o validare de bază a proprietăților colectorului de date, iar a doua clasă este utilizată pentru a scrie fiecare ieșire a reductorului în receptorul de date.

Care sunt fazele MapReduce?

În MapReduce, o dată trece prin următoarele faze.

Divizări de intrare: O intrare în modelul MapReduce este împărțită în părți mici de dimensiuni fixe numite divizări de intrare. Această parte a intrării este consumată de o singură hartă. Datele de intrare sunt în general un fișier sau un director stocat în HDFS.

Maparea: Aceasta este prima fază a execuției programului de reducere a hărții în care datele din fiecare împărțire sunt transmise linie cu linie unei funcții de cartografiere pentru a le procesa și a produce valorile de ieșire.

Schimbarea: este o parte a fazei de ieșire a cartografierii în care înregistrările relevante sunt consolidate din rezultat. Constă în comasare și sortare. Deci, toate perechile cheie-valoare care au aceleași chei sunt combinate. La sortare, intrările din etapa de îmbinare sunt preluate și sortate. Returnează perechi cheie-valoare, sortând rezultatul.

Reduce: Toate valorile din faza de amestecare sunt combinate și este returnată o singură valoare de ieșire. Astfel, rezumând întregul set de date.

Citiți și: Întrebări și răspunsuri la interviu Mapreduce

Cum funcționează MapReduce Organize?

Hadoop împarte o sarcină în două părți, Sarcinile de hartă, care includ divizări și cartografiere, și sarcinile de reducere, care includ amestecarea și reducerea. Acestea au fost menționate în fazele din secțiunea de mai sus. Execuția acestor sarcini este controlată de două entități numite JobTracker și Multiple Task tracker.

Cu fiecare job care este trimis pentru execuție, există un JobTracker care se află pe NameNode și mai multe instrumente de urmărire a sarcinilor care se află pe DataNode. Un job este împărțit în mai multe sarcini care rulează pe mai multe noduri de date din cluster. JobTracker coordonează activitatea prin programarea sarcinilor pentru a rula pe diferite noduri de date.

Instrumentul de urmărire a sarcinilor se ocupă de executarea sarcinilor individuale. De asemenea, trimite raportul de progres către JobTracker. Periodic, acesta trimite un semnal către JobTracker pentru a notifica starea curentă a sistemului. Când există o eroare a sarcinii, JobTracker o reprogramează pe un alt instrument de urmărire a sarcinilor.

Avantajele MapReduce

Există o serie de avantaje pentru aplicațiile care folosesc acest model. Acestea sunt

  • – Datele mari pot fi gestionate cu ușurință.
  • – Seturile de date pot fi procesate în paralel.
  • – Toate tipurile de date, cum ar fi structurate, nestructurate și semi-structurate, pot fi procesate cu ușurință.
  • – Se oferă scalabilitate ridicată.
  • – Numărarea aparițiilor cuvintelor este ușoară, iar aceste aplicații pot avea o colectare masivă de date.
  • – Eșantioane mari de respondenți pot fi accesate rapid.
  • – În analiza datelor, un instrument generic poate fi folosit pentru a căuta instrumente.
  • – Timpul de echilibrare a sarcinii este oferit în grupuri mari.
  • – Procesul de extragere a contextelor locațiilor utilizatorilor, situațiilor etc. este ușor posibil.
  • – Aceste aplicații oferă performanțe bune de generalizare și convergență.

Trebuie citit: Mapreduce vs Apache Spark

Concluzie

Am descris MapReduce în Hadoop în detaliu. Am oferit, de asemenea, o scurtă descriere a cadrului, împreună cu definițiile atât pentru Mapă, cât și pentru Reduce în introducere. Definițiile diferiților termeni utilizați în acest model au fost date împreună cu detaliile intrărilor și ieșirilor.

O explicație detaliată a diferitelor faze implicate în cadrul MapReduce a ilustrat în detaliu modul în care se organizează munca. Lista avantajelor utilizării MapReduce pentru aplicații oferă o imagine clară a utilizării și relevanței sale

Dacă sunteți interesat să aflați mai multe despre Big Data, consultați programul nostru PG Diploma în Dezvoltare Software Specializare în Big Data, care este conceput pentru profesioniști care lucrează și oferă peste 7 studii de caz și proiecte, acoperă 14 limbaje și instrumente de programare, practică practică. ateliere de lucru, peste 400 de ore de învățare riguroasă și asistență pentru plasarea unui loc de muncă cu firme de top.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Conduceți revoluția tehnologică bazată pe date

Program de certificat avansat în Big Data de la IIIT Bangalore