Big-Data-Analysen mit Google Cloud Dataflow
Einheitliches Datenmodell und flexiblere Abfragen
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 (Parallel 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.
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 ausserdem den Dienst Pub/Sub vorgestellt, einen Kommunikationskanal, der Eingabe-Streams verschiedenster Herkunft mit Ausgabe-Streams verknüpfen kann.
- Big-Data-Analysen mit Google Cloud Dataflow
- Einheitliches Datenmodell und flexiblere Abfragen
- Google Cloud Dataflow statt Map-Reduce?
- Die Schwächen von Map-Reduce-Berechnungen
- RDD und Spark als Big-Data-Alternativen
- IBM-Statement zur Datenverarbeitung in der Cloud
- Intel-Statement zur Datenverarbeitung in der Cloud
- Cloud Dataflow und andere Big-Data-Werkzeuge