MapReduce: prelucrarea simplificată a datelor pe clustere mari

MapReduce este un model de programare și o implementare asociată pentru procesarea și generarea de seturi mari de date. Utilizatorii specifică o funcție de hartă care procesează o pereche cheie/valoare pentru a genera un set de perechi cheie / valoare intermediare și o funcție de reducere care îmbină toate valorile intermediare asociate cu aceeași cheie intermediară. Multe sarcini din lumea reală sunt expresibile în acest model, așa cum se arată în lucrare.

programele scrise în acest stil funcțional sunt automat paralelizate și executate pe un grup mare de mașini de mărfuri. Sistemul run-time se ocupă de detaliile partiționării datelor de intrare, de programarea execuției programului pe un set de mașini, de gestionarea defecțiunilor mașinii și de gestionarea comunicării inter-mașină necesare. Acest lucru permite programatorilor fără experiență cu sisteme paralele și distribuite să utilizeze cu ușurință resursele unui sistem distribuit mare.

implementarea MapReduce rulează pe un grup mare de mașini de mărfuri și este foarte scalabilă: un calcul tipic MapReduce procesează mulți terabytes de date pe mii de mașini. Programatorii găsesc sistemul ușor de utilizat: sute de programe MapReduce au fost implementate și peste o mie de locuri de muncă MapReduce sunt executate pe clusterele Google în fiecare zi.

slide-uri HTML