Big-Data-Analysen mit Google Cloud Dataflow

Die Schwächen von Map-Reduce-Berechnungen

von - 06.10.2014
Da Map-Reduce im Batch-Modus ausgeführt wird, hat es allerdings immer dann Schwächen, wenn in iterativen Berechnungen ein Zwischenergebnis Ausgangspunkt einer neuen Berechnung ist.
Die Relevanz von Big Data für Unternehmen: Die Frage, ob Big Data für ihr Unternehmen relevant ist, beantwortet ein Großteil der Unternehmen eindeutig mit „Ja“.
Die Relevanz von Big Data für Unternehmen: Die Frage, ob Big Data für ihr Unternehmen relevant ist, beantwortet ein Großteil der Unternehmen eindeutig mit „Ja“.
In diesem Fall müssen alle Knoten zunächst alle Schlüssel-Wert-Paare erzeugt und kombiniert haben, um dann im zweiten Schritt erneut die Map-Reduce-Phase zu durchlaufen. Die Definition und das Management dieser Data Pipelines ist aufwendig und die Ausführung unflexibel.
Map-Reduce ist für den durchschnittlichen Entwickler nicht leicht zu nutzen, so Bussmann: „Auch wir bei Goo­gle haben viel Zeit damit verbracht, verschiedene Analysen zusammenzuführen und eine brauchbare Pipeline für Daten zu schaffen.“
Typische iterative Verfahren sind Algorithmen wie Page Rank und K-Means sowie logistische Regressionen. Mit ihnen lässt sich beispielsweise der Wert wissenschaftlicher Publikationen anhand der Häufigkeit von Zitatstellen berechnen oder ein selbstlernendes System implementieren, das Spam von seriösen E-Mail-Nachrichten unterscheiden oder Klimaveränderungen prognostizieren kann.
22 % betrug das durchschnittliche Wachstum des Datenvolumens in Unternehmen von 2012 zu 2013 Quelle: Bitkom
(Quelle: com! professional / Bitkom)
Auch bei interaktiven Datenanalysen stößt das Batch-Verfahren von Map-Reduce an seine Grenzen, etwa wenn große Mengen Log-Files zur Fehleranalyse nach Mustern durchsucht werden sollen.
Um diese Einschränkungen zu umgehen, verwendet Google in Dataflow die Java-Bibliothek Flume Java (nicht zu verwechseln mit Apache Flume, einem Service zum Sammeln, Aggregieren und Transferieren großer Mengen an Log-Daten). Flume Java erlaubt es, komplexe Abfolgen von Map-Reduce-Berechnungen – die bereits erwähnten Pipelines – in einem einzigen Java-Programm zu implementieren.
Dataflow nutzt außerdem das ebenfalls von Google entwickelte Framework Mill Wheel. Es ermöglicht die fehlertolerante, hochskalierbare Analyse großer Datenmengen in Echtzeit. Mill Wheel zeichnet kontinuierlich Zwischenstände (Checkpoints) auf. Das Zwischenspeichern großer Datenmengen während ihrer Verarbeitung ist daher nicht notwendig. Auf Zeitstempeln basierende Berechnungen sind ein integraler Bestandteil des Programmiermodells von Mill Wheel, was es für den Nutzer besonders einfach macht, Auswertungen nach Zeiträumen zu definieren (zum Beispiel wöchentliche oder monatliche Zugriffe).
Verwandte Themen