Big-Data-Analysen mit Google Cloud Dataflow

Google Cloud Dataflow statt Map-Reduce?

von - 06.10.2014
Laut Google ist Dataflow der Nachfolger von Map-Reduce, das gut ein Jahrzehnt das übliche Verfahren war, um große Datenmengen parallel zu verarbeiten. „Wir verwenden Map-Reduce eigentlich nicht mehr“, sagte Urs Hölzle, Senior Vice President Technical Infrastructure bei Google, anlässlich der Dataflow-Vorstellung in der Keynote der Entwicklerkonferenz. „Map-Reduce ist gut geeignet für einfache Aufgaben, aber sehr umständlich, wenn es um Daten-Pipelines geht, und jede Analyse ist heute eine Pipeline-Analyse“, so Hölzle weiter.
„Neue Techniken wie Dataflow ersetzen für viele Entwickler Map-Reduce.“ - Jens Bussmann, Cloud Platform Lead DACH & CEE, Google, www.google.de
„Neue Techniken wie Dataflow ersetzen für viele Entwickler Map-Reduce.“ - Jens Bussmann, Cloud Platform Lead DACH & CEE, Google, www.google.de
Jens Bussmann, Cloud Platform Lead DACH & CEE bei Google, relativiert diese Aussage allerdings: „Map-Reduce ist nicht ‚veraltet‘. Es gibt neue Technologien wie Dataflow, die das herkömmliche Map-Reduce für viele Entwickler ersetzen, aber Map-Reduce wird weiterhin genutzt und wir gehen davon aus, dass es auch noch lange genutzt werden wird.“ Map-Reduce ist ein ebenfalls von Google entwickeltes Programmiermodell, das die parallele Berechnung auf verteilten Systemen und über große Datenmengen erlaubt. Es läuft in zwei Phasen ab.
In Phase eins (Map) werden die Daten, bestehend aus einem Schlüssel und dessen Wert, in eine neue Schlüssel-Wert-Kombination umgewandelt. Dieser Vorgang kann parallel auf vielen Systemen ablaufen, sodass auch extrem große Datenmengen in kurzer Zeit bearbeitet werden können.
Phase zwei (Reduce) sammelt alle Schlüssel-Wert-Paare aus Phase eins und konsolidiert sie. Haben zwei Daten denselben Schlüssel, werden die Werte der Einträge addiert. Optional kann zwischen den Map- und den Reduce-Vorgang noch eine Combine-Phase geschaltet werden. Die Combine-Funktion läuft knotenweise und bildet so schon einmal Zwischensummen der einzelnen Schlüssel auf den jeweiligen Knoten.
Einer der großen Vorteile von Map-Reduce ist, dass sich die Datenanalyse auf viele Knoten eines Clusters parallel verteilen lässt, ohne dass es zu Inkonsistenzen kommen kann. Jeder Knoten erhält eine Teilmenge des Datenbestands und analysiert diesen. Dies reduziert den Rechenaufwand im nachfolgenden Reduce-Schritt meist schon um mehrere Größenordnungen. „Die entscheidenden Ideen hinter Map-Reduce – besonders das Handling von großen Datenmengen in kleinen, individuellen Pools – werden weiterhin in Technologien wie Hadoop fortbestehen“, sagt Bussmann.
Verwandte Themen