MapReduce

Autor: Louise Ward
Data Utworzenia: 9 Luty 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
What is MapReduce?
Wideo: What is MapReduce?

Zawartość

Definicja - Co oznacza MapReduce?

MapReduce to model programowania wprowadzony przez Google do przetwarzania i generowania dużych zestawów danych w klastrach komputerów.


Google najpierw sformułował strukturę w celu obsługi indeksowania stron internetowych Google, a nowa struktura zastąpiła wcześniejsze algorytmy indeksowania. Początkujący programiści uważają, że środowisko MapReduce jest korzystne, ponieważ procedury biblioteczne można wykorzystać do tworzenia programów równoległych bez obaw o komunikację wewnątrz klastrów, monitorowanie zadań lub procesy obsługi awarii.

MapReduce działa na dużym klastrze maszyn towarowych i jest wysoce skalowalny. Ma kilka form implementacji zapewnianych przez wiele języków programowania, takich jak Java, C # i C ++.

Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia MapReduce

Struktura MapReduce składa się z dwóch części:

  1. Funkcja o nazwie „Mapa”, która umożliwia różnym punktom rozproszonego klastra rozpowszechnianie ich pracy
  2. Funkcja o nazwie „Zmniejsz”, która została zaprojektowana w celu zredukowania ostatecznej postaci wyników klastrów do jednego wyniku

Główną zaletą struktury MapReduce jest jej odporność na awarie, w której oczekuje się okresowych raportów z każdego węzła w klastrze po zakończeniu pracy.


Zadanie jest przenoszone z jednego węzła do drugiego. Jeśli węzeł główny zauważy, że węzeł milczy przez dłuższy czas niż oczekiwano, węzeł główny wykonuje proces ponownego przypisania do zamrożonego / opóźnionego zadania.

Framework MapReduce jest inspirowany funkcjami „Map” i „Reduce” wykorzystywanymi w programowaniu funkcjonalnym. Przetwarzanie obliczeniowe zachodzi na danych przechowywanych w systemie plików lub w bazie danych, która pobiera zestaw wartości klucza wejściowego i tworzy zestaw wartości klucza wyjściowego.

Każdego dnia wiele programów MapReduce i zadań MapReduce są wykonywane w klastrach Googles. Programy są automatycznie równoległe i wykonywane na dużym klastrze maszyn towarowych. System wykonawczy zajmuje się partycjonowaniem danych wejściowych, planowaniem wykonywania programów na zestawie maszyn, obsługą awarii maszyn i zarządzaniem wymaganą komunikacją między urządzeniami. Programiści bez doświadczenia w pracy z systemami równoległymi i rozproszonymi mogą z łatwością korzystać z zasobów dużego systemu rozproszonego.


MapReduce jest wykorzystywany w rozproszonym grep, sortowaniu rozproszonym, odwróceniu linków do wykresów, statystykach dziennika dostępu do sieci, grupowaniu dokumentów, uczeniu maszynowym i statystycznym tłumaczeniu maszynowym.