Mit den Dataflow-Komponenten können Sie Apache Beam-Jobs zur Ausführung an Dataflow senden. In Dataflow stellt eine Job
-Ressource einen Dataflow-Job dar.
Das Google Cloud Pipeline Components SDK enthält die folgenden Operatoren zum Erstellen von Job
-Ressourcen und zum Überwachen ihrer Ausführung:
Darüber hinaus enthält das Google Cloud Pipeline Components SDK die Komponente WaitGcpResourcesOp
, mit der Sie die Kosten beim Ausführen von Dataflow-Jobs minimieren können.
DataflowFlexTemplateJobOp
Mit dem Operator DataflowFlexTemplateJobOp
können Sie eine Vertex AI Pipelines-Komponente erstellen, um eine Dataflow Flex-Vorlage zu starten.
In Dataflow stellt eine LaunchFlexTemplateParameter
-Ressource eine Flex-Vorlage dar, die gestartet werden soll. Diese Komponente erstellt eine LaunchFlexTemplateParameter
-Ressource und fordert Dataflow dann an, einen Job durch Starten der Vorlage zu erstellen. Wenn die Vorlage erfolgreich gestartet wurde, gibt Dataflow eine Job
-Ressource zurück.
Die Komponente für Dataflow Flex-Vorlagen wird beendet, sobald eine Job
-Ressource von Dataflow empfangen wird. Die Komponente gibt eine job_id
als serialisiertes gcp_resources
-Proto aus. Sie können diesen Parameter an eine WaitGcpResourcesOp
-Komponente übergeben, um auf den Abschluss des Dataflow-Jobs zu warten.
DataflowPythonJobOp
Mit dem Operator DataflowPythonJobOp
können Sie eine Vertex AI Pipelines-Komponente erstellen, die Daten vorbereitet. Dazu wird ein Python-basierter Apache Beam-Job zur Ausführung an Dataflow gesendet.
Der Python-Code des Apache Beam-Jobs wird mit Dataflow Runner ausgeführt.
Wenn Sie die Pipeline mit dem Dataflow-Dienst ausführen, lädt der Runner den ausführbaren Code an den durch den Parameter python_module_path
angegebenen Speicherort und die Abhängigkeiten in einen Cloud Storage-Bucket (angegeben durch temp_location
) hoch und erstellt dann einen Dataflow-Job, der Ihre Apache Beam-Pipeline auf verwalteten Ressourcen in der Google Cloud ausführt.
Weitere Informationen zum Dataflow-Runner finden Sie unter Dataflow-Runner verwenden.
Die Dataflow-Python-Komponente akzeptiert eine Liste von Argumenten, die über den Beam-Runner an Ihren Apache Beam-Code übergeben werden. Diese Argumente werden mit args
angegeben. Sie können mit diesen Argumenten beispielsweise apache_beam.options.pipeline_options
festlegen, um ein Netzwerk, ein Subnetzwerk, einen vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) sowie andere Optionen beim Ausführen von Dataflow-Jobs anzugeben.
WaitGcpResourcesOp
Dataflow-Jobs können oft eine längere Zeit in Anspruch nehmen. Die Kosten für einen busy-wait
-Container, also den Container, der den Dataflow-Job startet und auf das Ergebnis wartet, können deshalb hoch werden.
Nachdem der Dataflow-Job über den Beam-Runner gesendet wurde, wird die Komponente DataflowPythonJobOp
sofort beendet und gibt einen job_id
-Ausgabeparameter als serialisierten gcp_resources
-Proto zurück. Sie können diesen Parameter an eine WaitGcpResourcesOp
-Komponente übergeben, um auf den Abschluss des Dataflow-Jobs zu warten.
dataflow_python_op = DataflowPythonJobOp( project=project_id, location=location, python_module_path=python_file_path, temp_location = staging_dir, requirements_file_path = requirements_file_path, args = ['--output', OUTPUT_FILE], ) dataflow_wait_op = WaitGcpResourcesOp( gcp_resources = dataflow_python_op.outputs["gcp_resources"] )
Vertex AI Pipelines optimiert die serverlose Ausführung von WaitGcpResourcesOp
ohne zusätzliche Kosten.
Wenn DataflowPythonJobOp
und DataflowFlexTemplateJobOp
nicht Ihren Anforderungen entsprechen, können Sie auch eine eigene Komponente erstellen, die den Parameter gcp_resources
ausgibt, und an die Komponente WaitGcpResourcesOp
übergeben.
Weitere Informationen zum Erstellen des Ausgabeparameters gcp_resources
finden Sie unter Komponente zum Anzeigen eines Google Cloud Console-Links schreiben.
API-Referenz
Die Komponentenreferenz finden Sie in der Referenz zum SDK für Google Cloud Pipeline-Komponenten für Dataflow-Komponenten.
Eine Referenz zu Dataflow-Ressourcen finden Sie auf den folgenden API-Referenzseiten:
LaunchFlexTemplateParameter
-RessourceJob
-Ressource
Anleitungen
- Erste Schritte mit der Komponente für Dataflow Flex-Vorlagen
- Erste Schritte mit der Komponente für Dataflow-Python-Jobs
- Netzwerk und Subnetzwerk angeben
- Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden
Versionsverlauf und Versionshinweise
Weitere Informationen zum Versionsverlauf und zu Änderungen am Google Cloud Pipeline Components SDK finden Sie in den Versionshinweisen zum Google Cloud Pipeline Components SDK.
Technische Supportkontakte
Bei Fragen senden Sie eine E-Mail an kubeflow-pipelines-components@google.com.