Das MapReduce
Das MapReduce wurde 2003 entwickelt, um die Verarbeitung großer Datensätze auf massiv parallele Weise zu ermöglichen. Ziel des MapReduce ist es, die Umwandlung und Analyse großer Datenmengen zu vereinfachen und den Entwicklern die Möglichkeit zu geben, sich auf Algorithmen statt auf die Datenverwaltung zu konzentrieren. Das Modell ermöglicht die einfache Implementierung von datenparallelen Algorithmen. Es gibt eine Reihe von Implementierungen dieses Modells, darunter der in C++ programmierte Ansatz von Googleund die in Java programmierte Hadoop von Apache. Beide laufen auf großen Clustern von Standard-Hardware in einer Peer-to-Peer-Umgebung, in der nichts geteilt wird.
- Zuordnung
- Die Map-Funktion, die auch als Map-Task bezeichnet wird, verarbeitet ein einzelnes Schlüssel/Wert-Eingabepaar und erzeugt einen Satz von Schlüssel/Wert-Zwischenpaaren.
- Reduzieren
- Die Reduktionsfunktion, auch als Reduktionsaufgabe bezeichnet, besteht darin, alle in der Map-Phase erzeugten Schlüssel/Wert-Paare, die denselben Zwischenschlüssel haben, zu nehmen und null, ein oder mehrere Datenelemente zu erzeugen.
Beachten Sie, dass die Map- und Reduce-Funktionen sich nicht mit der Parallelisierung und Ausführung von MapReduce befassen. Dafür ist das MapReduce zuständig, das sich automatisch um die Verteilung der Eingabedaten sowie um die Planung und Verwaltung von Map- und Reduce-Aufgaben kümmert.