MapReduce

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

MapReduce jest stworzoną przez firmę Google platformą do przetwarzania równoległego dużych zbiorów danych w klastrach komputerów. Nazwa była zainspirowana funkcjami map i reduce z programowania funkcyjnego. Część platformy została opatentowana w USA.[1]

Operacje realizowane są podczas dwóch kroków:

Krok "map" - główny program (master node) pobiera dane z wejścia i dzieli je na mniejsze podproblemy, po czym przesyła je do robotników (worker nodes). Każdy z robotników może albo dokonać kolejnego podziału na podproblemy, albo przetworzyć problem i zwrócić odpowiedź do głównego programu.

Krok "reduce" - główny program bierze odpowiedzi na wszystkie pod-problemy i łączy je w jeden wynik - odpowiedź na główny problem.

Główną zaletą MapReduce jest umożliwienie łatwego rozproszenia operacji. Zakładając, że każda z operacji "map" jest niezależna od pozostałych, może być ona realizowana na osobnym serwerze.

Przypisy