Video: Kenneth Cukier: Big data is better data 2024
În centrul său, MapReduce este un model de programare pentru procesarea seturilor de date stocate într-o manieră distribuită pe un nod de slave al clusterului Hadoop. Conceptul cheie aici este împărțirea și cucerirea . Mai exact, doriți să rupeți un set mare de date în mai multe bucăți mai mici și să le procesați în paralel cu același algoritm.
Cu Hadoop Distributed File System (HDFS), fișierele sunt deja împărțite în bucăți de mărimea mușcăturii. MapReduce este ceea ce utilizați pentru a procesa toate piesele.
Aplicațiile MapReduce au mai multe faze, după cum se precizează în această listă:
-
Determina seturile de date exacte de procesat din blocurile de date. Aceasta implică calcularea locațiilor în care înregistrările care urmează să fie procesate sunt localizate în blocurile de date.
-
Rulați algoritmul specificat pentru fiecare înregistrare din setul de date, până când toate înregistrările sunt procesate.
O instanță individuală a aplicației care rulează împotriva unui bloc de date într-un set de date este cunoscută ca o sarcină mapper . (Aceasta este partea de mapare a MapReduce.)
-
Performă o reducere intermediară a producției fiecărui cartograf.
(ieșirile sunt combinate provizoriu, cu alte cuvinte). Această fază este opțională deoarece, în unele cazuri obișnuite, nu este de dorit.
-
Pe baza cerințelor de partiționare, grupați partițiile aplicabile de date din seturile de rezultate ale fiecărui cartograf.
-
Aruncați seturile de rezultate de la cartografi într-un singur set de rezultate - partea Redusă din MapReduce.
O instanță individuală a aplicației care rulează împotriva datelor de ieșire a cartografierului este cunoscută ca o sarcină de reducere . (Cât de ciudat ar părea, deoarece "Reduce" face parte din numele MapReduce, această fază poate fi opțională; aplicațiile fără un reductor sunt cunoscute sub numele de locuri de muncă de tip map , care pot fi utile atunci când nu există trebuie să combinați seturile de rezultate din sarcinile de hartă.)