Dataflow – Übersicht

Dataflow ist ein vollständig verwalteter Dienst zum Ausführen von Streaming- und Batch-Datenverarbeitungspipelines. Es bietet eine automatische Bereitstellung und Verwaltung von Rechenressourcen sowie eine konsistente, zuverlässige, genau einmalige Verarbeitung Ihrer Daten. Dataflow unterstützt eine Vielzahl von Anwendungsfällen der Datenverarbeitung, einschließlich Streamanalyse, Echtzeit-KI, Sensor- und Logdatenverarbeitung sowie andere Workflows in Bezug auf die Datentransformation.

Pipeline erstellen oder Vorlage verwenden

Zum Erstellen einer Datenpipeline für Dataflow verwenden Sie Apache Beam, ein einheitliches Open-Source-Modell, mit dem sowohl Batch- als auch Streaming-Datenverarbeitungspipelines definiert werden können. Das Apache Beam-Programmiermodell vereinfacht umfangreiche Datenverarbeitungsvorgänge. Dazu erstellen Sie mithilfe eines Apache Beam SDK ein Programm, das Ihre Pipeline definiert. Anschließend führen Sie die Pipeline in Dataflow aus.

Dank hilfreicher Abstraktionen des Apache Beam-Modells müssen Sie sich nicht um Low-Level-Details der verteilten Verarbeitung wie das Koordinieren einzelner Worker und das Fragmentieren von Datasets kümmern. Dataflow übernimmt die vollständige Verwaltung dieser Low-Level-Details. Damit steht der logische Aufbau Ihres Datenverarbeitungsjobs im Mittelpunkt und nicht die physische Orchestrierung der Parallelverarbeitung. So können Sie sich ganz darauf konzentrieren, was Ihr Job ausführen muss und müssen nicht im Detail auf das „Wie“ achten.

Wenn Sie keine eigene Pipeline erstellen möchten, können Sie eine von Google bereitgestellte Dataflow-Vorlage nutzen. Diese Vorlagen definieren gängige Datentransformationen, z. B. das Lesen von Streamingdaten aus Pub/Sub und das Schreiben nach Cloud Storage oder das Lesen von Streamingdaten aus Apache Kafka und das Schreiben nach BigQuery. Sie können auch eigene benutzerdefinierte Dataflow-Vorlagen erstellen, mit denen sich Ihre Pipelines für ein Team oder eine Organisation freigeben lassen.

Mit Dataflow-Vorlagen lässt sich eine Dataflow-Pipeline für die Bereitstellung verpacken. Alle Nutzer mit den entsprechenden Berechtigungen können dann die Vorlage zum Bereitstellen der Pipeline verwenden. Vorlagen trennen das Pipelinedesign von der Bereitstellung. Beispielsweise kann ein Entwickler eine Vorlage erstellen und ein Data Scientist diese später mithilfe von Parametern für den Job zur Laufzeit anpassen und bereitstellen.

Dataflow-Funktionen

Dataflow bietet viele Funktionen zum Ausführen sicherer, zuverlässiger und kostengünstiger Datenpipelines in großem Umfang. In diesem Abschnitt werden einige Möglichkeiten von Dataflow beschrieben.

Horizontales Autoscaling skalieren

Wenn das horizontale Autoscaling aktiviert ist, wählt Dataflow automatisch die zum Ausführen des Jobs erforderliche Anzahl von Worker-Instanzen aus. Mit Dataflow können je nach Job während der Laufzeit auch dynamisch mehr oder weniger Worker neu zugewiesen werden.

Vertikales Autoscaling skalieren

Mit vertikalem Autoscaling kann Dataflow, den für Worker verfügbaren Speicher dynamisch hoch- oder herunterskalieren, um die Anforderungen des Jobs zu erfüllen. Es ist darauf ausgelegt, Jobs gegen Fehler aufgrund mangelnden Arbeitsspeichers zu stabilisieren und die Pipelineeffizienz zu maximieren. Dataflow überwacht Ihre Pipeline, erkennt Situationen, in denen die Worker nicht ausreichend Arbeitsspeicher haben oder ihn überschreiten, und ersetzt sie dann durch neue Worker mit mehr oder weniger Arbeitsspeicher.

Serverlose Pipelines ausführen

Sie können eine serverlose Pipeline mithilfe von Dataflow Prime ausführen. Dataflow Prime ist eine serverlose Datenverarbeitungsplattform auf Basis von Dataflow. Dataflow Prime nutzt eine Architektur, bei der Computing und Zustandsspeicher getrennt sind. Diese bietet Funktionen, mit denen die Effizienz verbessert und die Produktivität erhöht werden kann. Pipelines mit Dataflow Prime profitieren von der automatischen und optimierten Ressourcenverwaltung, den geringeren Betriebskosten und den verbesserten Diagnosefunktionen.

Ressourcen nach Pipelinephase optimieren

Mithilfe des Right Fitting von Dataflow Prime werden phasenspezifische Ressourcenpools erstellt, die für die einzelnen Pipelinephasen optimiert sind, um eine unnötige Inanspruchnahme von Ressourcen zu vermeiden.

Monitoring von Jobs

Über die Monitoring-Oberfläche können Sie Dataflow-Jobs prüfen und mit ihnen interagieren. Die Monitoring-Oberfläche enthält eine Liste Ihrer Dataflow-Jobs, eine grafische Darstellung der Pipelines, Details zum Zustand jedes Jobs, Links zu Informationen über die Google Cloud-Dienste, mit denen Ihre Pipeline ausgeführt wird, sowie alle Fehler oder Warnungen, die während eines Jobs auftreten, und zusätzliche Diagnosen sowie Messwerte.

Jobleistung visualisieren

Job Visualizer ist Teil des Tabs Ausführungsdetails in der Dataflow-Konsole. Damit können Sie Leistungsmesswerte zu einem Dataflow-Job aufrufen und die Leistung des Jobs optimieren, etwa durch Ermittlung von ineffizientem Code wie z. B. Parallelisierungsengpässe. Sie haben hier auch die Möglichkeit, die Schritte zu prüfen, die mit den einzelnen Phasen der Pipeline verknüpft sind.

Streamingressourcen vom Speicher trennen

Streaming Engine trennt das Computing vom Zustandsspeicher für Streamingpipelines. Es verschiebt Teile der Pipelineausführung aus Worker-VMs nach Dataflow und verbessert damit das Autoscaling sowie die Datenlatenz erheblich.

Daten effizient neu zusammenstellen

Dataflow Shuffle verschiebt den Shuffle-Vorgang zum Gruppieren und Zusammenführen von Daten aus Worker-VMs nach Dataflow für Batchpipelines. Batchpipelines werden nahtlos auf Hunderte von Terabyte skaliert, ohne dass optimiert werden muss.

Batchverarbeitungskosten reduzieren

Flexible Ressourcenplanung: Dies reduziert die Kosten für die Batchverarbeitung mit erweiterten Planungstechniken, dem Dataflow Shuffle-Dienst und einer Kombination aus VM-Instanzen auf Abruf und regulären VMs.

Pipelines aus Notebooks ausführen

Erstellen Sie iterativ komplett neue Pipelines mit Vertex AI-Notebooks und führen Sie die Jobs in Dataflow aus. Sie haben die Möglichkeit, Apache Beam-Pipelines Schritt für Schritt zu erstellen und dafür Pipelinegrafiken in einem REPL-Workflow (Read-Eval-Print-Loop) zu prüfen. Mit Notebooks können Sie Pipelines in einer intuitiven Umgebung mit den neuesten Data Science- und ML-Frameworks schreiben.

Hilfreiche Empfehlungen

Optimieren Sie Pipelines mithilfe von Empfehlungen auf Basis von maschinellem Lernen. Mithilfe der Empfehlungen können Sie die Jobleistung verbessern, die Kosten senken und Fehler beheben.

Pipelines mit vom Kunden verwalteten Verschlüsselungsschlüsseln schützen

Ein vom Kunden verwalteter Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) ermöglicht die Verschlüsselung inaktiver Daten mit einem Schlüssel, den Sie über Cloud KMS verwalten können. Sie haben die Möglichkeit, eine Batch- oder Streamingpipeline zu erstellen, die durch einen CMEK geschützt ist, und auf CMEK-geschützte Daten in Quellen und Senken zuzugreifen.

Netzwerke und Subnetzwerke festlegen

Durch die Einbindung von VPC Service Controls in Dataflow profitieren Sie von zusätzlicher Sicherheit für Ihre Datenverarbeitungsumgebung, da sich so das Risiko einer Daten-Exfiltration verringern lässt. Sie können beim Ausführen von Dataflow-Jobs ein Netzwerk oder ein Subnetzwerk oder beides angeben.

Private IP-Adressen konfigurieren

Durch Deaktivierung öffentlicher IP-Adressen können Sie die Sicherheit der Infrastruktur Ihrer Datenverarbeitung erhöhen. Ohne öffentliche IP-Adressen für Ihre Dataflow-Worker senken Sie auch die Anzahl der öffentlichen IP-Adressen, die Sie im Rahmen Ihres Google Cloud-Projektkontingents nutzen.

Erste Schritte

Nutzen Sie für einen Einstieg in Dataflow eine der folgenden Kurzanleitungen: