Dataflow ist Googles serverloser Service für Stream- und Batch-Datenverarbeitung. Ein Code für beide Modelle, automatisches Scaling ohne Cluster-Management.
Was ist Dataflow?
Dataflow führt Apache Beam Pipelines auf Googles Infrastruktur aus. Sie schreiben Pipelines in Java, Python oder Go, Dataflow übernimmt Provisioning, Scaling und Monitoring. Derselbe Code läuft für Streaming (Echtzeit) und Batch (historische Daten).
Anders als Hadoop/Spark Cluster ist Dataflow serverless: Keine Cluster-Konfiguration, automatisches Scaling, Pay-per-Use.
Streaming vs. Batch
Streaming Pipeline (Echtzeit):
Pub/Sub → Dataflow → BigQuery
(kontinuierlich)
Batch Pipeline (periodisch):
Cloud Storage → Dataflow → BigQuery
(täglich, stündlich)Apache Beam ermöglicht denselben Code für beide Modi. Wechseln Sie von Batch zu Streaming durch Ändern der Pipeline-Konfiguration.
Kernfunktionen
- Unified Model: Ein SDK für Streaming und Batch
- Autoscaling: Automatisches Hinzufügen/Entfernen von Workern
- Exactly-Once: Garantierte Verarbeitung ohne Duplikate
- Windowing: Zeit-basierte Aggregationen (Tumbling, Sliding, Session)
- Watermarks: Handling von verspäteten Events
Typische Anwendungsfälle
Real-time Analytics
Events aus Pub/Sub in Echtzeit aggregieren und nach BigQuery schreiben. Dashboards zeigen Metriken mit Sekunden-Latenz.
ETL Pipelines
Daten aus Cloud Storage lesen, transformieren, bereinigen und nach BigQuery laden. Scheduled Jobs für tägliche/stündliche Verarbeitung.
Pub/Sub zu BigQuery
Streaming Ingestion von Events zu BigQuery. Dataflow Templates ermöglichen Deployment ohne Code.
Event-Driven ML
Feature-Berechnung in Echtzeit für ML-Modelle. Dataflow berechnet Features, Vertex AI macht Predictions.
Dataflow vs. Dataproc vs. Data Fusion
| Kriterium | Dataflow | Dataproc | Data Fusion |
|---|---|---|---|
| Modell | Serverless | Managed Cluster | Visual ETL |
| SDK | Apache Beam | Spark, Hadoop | GUI, CDAP |
| Scaling | Automatisch | Manuell/Autoscaling | Automatisch |
| Use Case | Neue Pipelines | Bestehende Spark-Jobs | No-Code ETL |
| Kosten | Pay-per-Use | Pay-per-Cluster | Pay-per-Hour |
Vorteile
- Serverless: Kein Cluster-Management
- Unified: Streaming und Batch mit einem SDK
- Portabel: Apache Beam läuft auch auf anderen Runnern
- Integriert: Native GCP-Connectoren für alle Services
Integration mit innFactory
Als Google Cloud Partner unterstützt innFactory Sie bei Dataflow: Pipeline-Entwicklung, Migration von Spark zu Beam, Performance-Optimierung und Kostenanalyse.
Typische Anwendungsfälle
Technische Spezifikationen
Häufig gestellte Fragen
Was ist Dataflow?
Dataflow ist ein vollständig verwalteter Service für Datenverarbeitung, der sowohl Streaming als auch Batch mit dem gleichen Code unterstützt. Er basiert auf Apache Beam und skaliert automatisch basierend auf dem Workload.
Was ist der Unterschied zwischen Dataflow und Data Fusion?
Dataflow ist für Entwickler, die Apache Beam Pipelines in Java, Python oder Go schreiben. Data Fusion ist für Business-Analysten mit visueller Drag-and-Drop-Oberfläche ohne Code. Für komplexe, Code-basierte Pipelines nutzen Sie Dataflow.
Wann sollte ich Dataflow statt Dataproc nutzen?
Dataflow ist serverless mit automatischem Scaling, ideal für Pipelines ohne Cluster-Management. Dataproc ist managed Hadoop/Spark für bestehende Spark-Jobs oder wenn Sie Cluster-Kontrolle brauchen. Für neue Projekte empfehlen wir oft Dataflow.
Wie funktioniert Autoscaling bei Dataflow?
Dataflow skaliert automatisch basierend auf dem Backlog (unverarbeitete Nachrichten). Bei Streaming-Pipelines werden Worker hinzugefügt wenn der Backlog wächst. Sie können Min/Max Worker und Scaling-Algorithmus konfigurieren.
Was kostet Dataflow?
Dataflow berechnet vCPU-Zeit ($0.056/vCPU-Stunde), RAM ($0.003557/GB-Stunde) und Persistent Disk. Streaming ist teurer als Batch. Flex Resource Scheduling bietet bis zu 40% Rabatt für Batch-Jobs mit flexiblem Timing.
