MapReduce: uproszczone przetwarzanie danych na dużych klastrach

MapReduce jest modelem programowania i powiązaną implementacją do przetwarzania i generowania dużych zbiorów danych. Użytkownicy określają funkcję map, która przetwarza parę klucz / wartość w celu wygenerowania zestawu pośrednich par klucz / wartość, oraz funkcję reduce, która łączy wszystkie pośrednie wartości związane z tym samym kluczem pośrednim. W tym modelu można wyrazić wiele rzeczywistych zadań, jak pokazano w artykule.

programy napisane w tym stylu funkcjonalnym są automatycznie równoległe i wykonywane na dużym klastrze maszyn towarowych. System run-time dba o szczegóły dotyczące partycjonowania danych wejściowych, planowania wykonania programu w zestawie maszyn, obsługi awarii maszyn i zarządzania wymaganą komunikacją między maszynami. Pozwala to programistom bez doświadczenia z systemami równoległymi i rozproszonymi na łatwe wykorzystanie zasobów dużego systemu rozproszonego.

nasza implementacja MapReduce działa na dużym klastrze maszyn towarowych i jest wysoce skalowalna: typowe obliczenia MapReduce przetwarzają wiele terabajtów danych na tysiącach maszyn. Programiści uważają, że system jest łatwy w użyciu: setki programów MapReduce zostały wdrożone, a ponad tysiąc zadań MapReduce jest wykonywanych na klastrach Google każdego dnia.

slajdy HTML