Dataflow Prime verwenden

Dataflow Prime ist eine serverlose Datenverarbeitungsplattform für Apache Beam-Pipelines. Dataflow Prime basiert auf Dataflow, verwendet eine für Computing-Architektur mit getrennten Status und enthält viele neue Features. Pipelines mit Dataflow Prime profitieren von der automatisierten und optimierten Ressourcenverwaltung, den geringeren Betriebskosten und den Diagnosefunktionen.

Dataflow Prime unterstützt sowohl Batch- als auch Streamingpipelines. Dataflow Prime verwendet standardmäßig Dataflow Shuffle für Batchjobs und Streaming Engine für Streamingjobs.

Dataflow Prime verwendet Runner V2 von Dataflow in seinen Pipelines.

Unterstützung von SDK-Versionen

Dataflow Prime unterstützt die folgenden Apache Beam SDKs:

  • Apache Beam Python SDK Version 2.21.0 oder höher

  • Apache Beam Java SDK Version 2.30.0 oder höher

Zum Herunterladen des SDK-Pakets oder zum Lesen der Versionshinweise rufen Sie Apache Beam-Downloads auf.

Dataflow Prime-Features

Im Folgenden finden Sie die Liste der unterstützten Dataflow Prime-Features für verschiedene Arten von Pipelines:

  • Vertikales Autoscaling (Arbeitsspeicher). Gilt für Streamingpipelines in Python.
  • Right Fitting (Dataflow Prime-Ressourcenhinweise). Gilt für Batchpipelines in Python und Java.
  • Job Visualizer. Gilt für Batchpipelines in Python und Java.
  • Smart Recommendations. Gilt für Streaming- und Batchpipelines in Python und Java.
  • Data Pipelines. Gilt für Streaming- und Batchpipelines in Python und Java.

Die Features "Job Visualizer", "Smart Recommendations" und "Data Pipelines" werden auch für Nicht-Dataflow Prime-Jobs unterstützt.

Vertikales Autoscaling

Dieses Feature passt den für die Dataflow-Worker-VMs verfügbaren Arbeitsspeicher automatisch an die Anforderungen der Pipeline an und hilft, Fehler aufgrund fehlenden Arbeitsspeichers zu vermeiden. In Dataflow Prime arbeitet vertikales Autoscaling mit horizontalem Autoscaling zusammen, um Ressourcen dynamisch zu skalieren.

Weitere Informationen finden Sie unter Vertikales Autoscaling.

Right Fitting

Dieses Feature verwendet Ressourcenhinweise, ein neues Feature von Apache Beam, mit der Sie Ressourcenanforderungen für die gesamte Pipeline oder für bestimmte Schritte der Pipeline angeben können. Mit diesem Feature können Sie benutzerdefinierte Worker für verschiedene Schritte einer Pipeline erstellen. Mit Right Fitting können Sie Pipelineressourcen angeben, um die Effizienz zu maximieren, die Betriebskosten zu senken und Fehler aufgrund fehlenden Arbeitsspeichers und andere Ressourcenfehler zu vermeiden.

Achten Sie bei der Vorschau auf Folgendes zu Right Fitting:

  • Es unterstützt Hinweise für Arbeitsspeicher und GPU-Ressourcen.

  • Es erfordert Apache Beam 2.30.0 oder höher.

Weitere Informationen finden Sie unter Dataflow Prime Right Fitting konfigurieren.

Job Visualizer

Mit diesem Feature können Sie sich die Leistung eines Dataflow-Jobs ansehen und die Leistung des Jobs optimieren, indem Sie ineffizienten Code finden, einschließlich Engpässen bei der Parallelisierung. In der Cloud Console können Sie auf der Seite Jobs auf jeden Dataflow-Job klicken, um die Details zum Job anzuzeigen. Sie können auch die Liste der Schritte sehen, die mit jeder Phase der Pipeline verknüpft sind.

Weitere Informationen finden Sie unter Ausführungsdetails.

Smart Recommendations

Mit diesem Feature können Sie die Pipeline gemäß den Empfehlungen auf dem Tab Diagnose der Detailseite eines Jobs optimieren und Fehler beheben. In der Cloud Console können Sie auf der Seite Jobs auf jeden Dataflow-Job klicken, um die Details zum Job anzuzeigen.

Weitere Informationen finden Sie unter Empfehlungen und Diagnose.

Datenpipelines

Mit diesem Feature können Sie Jobs planen, Ressourcenauslastungen beobachten, Ziele der Datenaktualität für Streamingdaten verfolgen und Pipelines optimieren.

Weitere Informationen finden Sie unter Mit Datenpipelines arbeiten.

Kontingent- und Limitanforderungen

Für Dataflow und Dataflow Prime gelten dieselben Kontingente und Limits. Weitere Informationen finden Sie unter Kontingente und Limits.

Wenn Sie sich für Data Pipelines entscheiden, hat das zusätzliche Auswirkungen für Kontingente und regionale Endpunkte.

Vor der Verwendung von Dataflow Prime

Wenn Sie Dataflow Prime verwenden möchten, können Sie den vorhandenen Pipelinecode wiederverwenden und auch die experimentelle Dataflow Prime-Option entweder über Cloud Shell oder programmatisch aktivieren.

Dataflow Prime ist abwärtskompatibel mit Batchjobs, die Dataflow Shuffle verwenden, und Streamingjobs, die Streaming Engine verwenden. Wir empfehlen Ihnen jedoch, die Pipelines mit Dataflow Prime zu testen, bevor Sie sie in einer Produktionsumgebung verwenden.

Wenn Ihre Streamingpipeline in der Produktion ausgeführt wird, führen Sie zur Verwendung von Dataflow Prime die folgenden Schritte aus:

  1. Beenden Sie die Pipeline:

  2. Aktivieren Sie Dataflow Prime.

  3. Führen Sie die Pipeline noch einmal aus.

Dataflow Prime aktivieren

So aktivieren Sie Dataflow Prime für eine Pipeline:

  1. Aktivieren Sie die Cloud Autoscaling API.

    API aktivieren

    Dataflow Prime verwendet die Cloud Autoscaling API, um den Arbeitsspeicher dynamisch anzupassen.

  2. Aktivieren Sie Prime in Ihren Pipeline-Optionen.

    Sie können die Pipelineoptionen entweder programmatisch oder über die Befehlszeile festlegen. Aktivieren Sie für unterstützte Apache Beam SDK-Versionen das folgende Flag:

Java

--dataflowServiceOptions=enable_prime

Python

Apache Beam Python SDK Version 2.29.0 oder höher

--dataflow_service_options=enable_prime

Apache Beam Python SDK Version 2.21.0 bis 2.28.0:

--experiments=enable_prime

Dataflow Prime mit Vorlagen verwenden

Wenn Sie Dataflow-Vorlagen verwenden, können Sie Dataflow Prime auf eine der folgenden Arten aktivieren:

Console

  1. Rufen Sie die Seite Job aus Vorlage erstellen auf.

    Zur Seite "Job aus Vorlage erstellen“

  2. Geben Sie im Feld Zusätzlicher Test den Wert enable_prime ein.

Shell

  • Führen Sie den Pipelinecode mit dem auf enable_prime gesetzten Flag --experiments aus.

Pipelinecode

  • Legen Sie im Pipelinecode das Argument additional_experiment auf enable_prime fest.

Hinweise zu Dataflow Prime

Dataflow Prime unterstützt Folgendes nicht:

  • Ressourcenhinweise für sprachübergreifende Transformationen. Weitere Informationen zu dieser Einschränkung finden Sie in der Dokumentation zu Apache Beam.

  • Festlegen bestimmter VM-Typen mit dem Flag --worker_machine_type oder --machine_type für Python-Pipelines und --workerMachineType für Java-Pipelines.

  • Anzeigen oder Verwenden von SSH zur Anmeldung bei Worker-VMs.

  • Die Klassen MapState und OrderedListState für Java-Pipelines.

  • Benutzerdefinierte Fenstertypen.

  • Flexible Resource Scheduling (FlexRS).

Featurevergleich zwischen Dataflow und Dataflow Prime

In der folgenden Tabelle werden die verfügbaren Features für beide Varianten von Dataflow verglichen.

Feature Dataflow Prime Dataflow
Runner V2 Standardfeature ohne Option zum Deaktivieren Optionales Feature
Dataflow Shuffle für Batchjobs Standardfeature ohne Option zum Deaktivieren Standardfeature mit Option zum Deaktivieren
Streaming Engine Standardfeature ohne Option zum Deaktivieren Optionales Feature für Java-Pipelines und Option zum Deaktivieren für Python-Pipelines
Horizontales Autoscaling Optionales Feature Optionales Feature
Vertikales Autoscaling Standardfeature ohne Option zum Deaktivieren Nicht zutreffend
Right Fitting Optionales Feature Nicht zutreffend
Job Visualizer Standardfeature ohne Option zum Deaktivieren Standardfeature ohne Option zum Deaktivieren
Jobempfehlungen Standardfeature ohne Option zum Deaktivieren Standardfeature ohne Option zum Deaktivieren
Datenpipelines Optionales Feature Optionales Feature
Abrechnung Serverlose Abrechnung Legacy-Abrechnung

Nächste Schritte