Dataflow-Komponenten

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 flexible Vorlage dar, die gestartet werden soll. Diese Komponente erstellt eine Ressource LaunchFlexTemplateParameter und fordert dann Dataflow auf, einen Job durch Starten der Vorlage zu erstellen. Wenn die Vorlage erfolgreich gestartet wurde, gibt Dataflow eine Job-Ressource zurück.

Die flexible Dataflow-Vorlagenkomponente wird beendet, wenn 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 Ihren Anforderungen nicht entsprechen, können Sie auch eine eigene Komponente erstellen, die den Parameter gcp_resources ausgibt, und ihn 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

Tutorials

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.