Big-Data-Analysen mit Google Cloud Dataflow

Einheitliches Datenmodell und flexiblere Abfragen

von - 06.10.2014
Datensätze werden in Dataflow unabhängig von ihrer Herkunft als sogenannte PCollections (Parallel Collections) repräsentiert. Eine PCollection kann aus Informationen im Hauptspeicher (In-Memory) bestehen, aus einem Cloud-Speicher gelesen werden, das Ergebnis einer Big-Query-Abfrage sein, aus einem Kommunikationsstrom stammen oder direkt das Ergebnis einer Berechnung auf dem jeweiligen Knoten sein. Die Verarbeitung erfolgt mit PTransforms (Pa­rallel Transforms), die vom Entwickler der Datenabfrage anpassbar und kombinierbar sind. Google stellt neben Basis-PTransforms wie ParDo (Parallel Do) oder GroupByKey ein spezielles Starter-Kit mit kombinierten Transformationen zur Verfügung, darunter Count, Top und Mean.
Manager fordern neue Big-Data-Tools: Antworten auf die Frage „Sind Big-Data-Tools und -Lösungen derzeit zu wenig ausgereift?“
Manager fordern neue Big-Data-Tools: Antworten auf die Frage „Sind Big-Data-Tools und -Lösungen derzeit zu wenig ausgereift?“
Dataflow lässt sich im Prinzip mit jeder geeigneten Programmsprache adressieren, ein erstes SDK (Software Development Kit) steht für Java zur Verfügung.

Flexiblere Abfragen

Wie erwähnt braucht sich ein Programmierer in Cloud Dataflow nicht um die technische Ausführung seiner Abfragen zu kümmern. Er definiert nur die Daten-Pipelines und ihre Transformationen.
Das System entscheidet dann je nach Datenquelle und Rechnerplattform, wie die Berechnung im Detail abläuft. So lässt sich beispielsweise eine Abfrage in einer Entwicklungsumgebung aufbauen und debuggen, um sie dann später ohne weitere Anpassungen auf Produktivsystemen mit Cloud Storage oder Streaming-Daten verwenden zu können.
Auch die Unterscheidung von Batch-Analysen, also Abfragen auf statische Datenbestände, und Streaming-Analysen auf Echtzeitdaten lässt sich allein über die Definition der Datenquelle steuern. Eine weitere Anpassung des Codes ist nicht notwendig.
Im Streaming-Modus kann man sehr einfach mit einer Zeile Code ein Zeitfenster für die Auswahl der zu untersuchenden Daten definieren, das sich ohne weiteren Aufwand auf dem Zeitstrahl mitbewegt, also etwa „die letzten 24 Stunden“, die letzten 60 Minuten“ oder „letzte Woche“.
Für das Analysieren von Echtzeitdaten hat Google außerdem den Dienst Pub/Sub vorgestellt, einen Kommunikationskanal, der Eingabe-Streams verschiedenster Herkunft mit Ausgabe-Streams verknüpfen kann.
Verwandte Themen