Dataflow 元件

Dataflow 元件可讓您將 Apache Beam 工作提交至 Dataflow 執行。在 Dataflow 中,Job 資源代表 Dataflow 工作。

Google Cloud SDK 包含下列運算子,可用於建立 Job 資源及監控執行作業:

此外, Google Cloud SDK 包含 WaitGcpResourcesOp 元件,可用於降低執行 Dataflow 工作的成本。

DataflowFlexTemplateJobOp

DataflowFlexTemplateJobOp 運算子可讓您建立 Gemini Enterprise Agent Platform Pipelines 元件,以啟動 Dataflow Flex 範本。

在 Dataflow 中,LaunchFlexTemplateParameter 資源代表要啟動的 Flex 範本。這個元件會建立 LaunchFlexTemplateParameter 資源,然後要求 Dataflow 啟動範本來建立工作。如果範本成功啟動,Dataflow 會傳回 Job 資源。

Dataflow Flex 範本元件收到 Dataflow 的 Job 資源後,就會終止。元件會以序列化 gcp_resources proto 的形式輸出 job_id。您可以將這個參數傳遞至 WaitGcpResourcesOp 元件,等待 Dataflow 工作完成。

DataflowPythonJobOp

DataflowPythonJobOp 運算子可讓您建立 Gemini Enterprise Agent Platform Pipelines 元件,透過將以 Python 為基礎的 Apache Beam 工作提交至 Dataflow 執行,來準備資料。

Apache Beam 工作的 Python 程式碼會透過 Dataflow Runner 執行。使用 Dataflow 服務執行管道時,執行器會將可執行程式碼上傳到 python_module_path 參數指定的位置,並將依附元件上傳到 Cloud Storage bucket (由 temp_location 指定),然後建立 Dataflow 工作,在 Google Cloud的代管資源上執行 Apache Beam 管道。

如要進一步瞭解 Dataflow Runner,請參閱「使用 Dataflow Runner」。

Dataflow Python 元件接受使用 Beam Runner 傳遞至 Apache Beam 程式碼的引數清單。這些引數由 args 指定。舉例來說,您可以使用這些引數設定 apache_beam.options.pipeline_options,在執行 Dataflow 工作時指定網路、子網路、客戶自行管理的加密金鑰 (CMEK) 和其他選項。

WaitGcpResourcesOp

Dataflow 工作通常需要較長時間才能完成。busy-wait 容器 (啟動 Dataflow 工作並等待結果的容器) 的費用可能會很高。

使用 Beam 執行工具提交 Dataflow 工作後,DataflowPythonJobOp 元件會立即終止,並傳回 job_id 輸出參數,做為序列化的 gcp_resources proto。您可以將這個參數傳遞至 WaitGcpResourcesOp 元件,等待 Dataflow 工作完成。

    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"]
    )

Gemini Enterprise Agent Platform Pipelines 會最佳化 WaitGcpResourcesOp,以無伺服器方式執行,且不收取任何費用。

如果 DataflowPythonJobOp 和 DataflowFlexTemplateJobOp 不符合您的需求,您也可以建立自己的元件,輸出 gcp_resources 參數並傳遞至 WaitGcpResourcesOp 元件。

如要進一步瞭解如何建立 gcp_resources 輸出參數,請參閱「編寫元件以顯示 Google Cloud 控制台連結」。

API 參考資料

教學課程

版本記錄和版本資訊

如要進一步瞭解 Google Cloud Pipeline Components SDK 的版本記錄和異動,請參閱 Google Cloud Pipeline Components SDK 版本資訊。

技術支援聯絡人

如有任何疑問,請洽詢 kubeflow-pipelines-components@google.com。