您可以使用 Dataflow 元件,將 Apache Beam 工作提交至 Dataflow 執行。在 Dataflow 中,Job
資源代表 Dataflow 工作。
Google Cloud SDK 包含下列運算子,可用於建立 Job
資源及監控執行情況:
此外, Google Cloud SDK 包含 WaitGcpResourcesOp
元件,可用於執行 Dataflow 工作時降低費用。
DataflowFlexTemplateJobOp
DataflowFlexTemplateJobOp
運算子可讓您建立 Vertex AI Pipelines 元件,以啟動 Dataflow Flex 範本。
在 Dataflow 中,LaunchFlexTemplateParameter
資源代表要啟動的 Flex 範本。這個元件會建立 LaunchFlexTemplateParameter
資源,然後要求 Dataflow 啟動範本來建立工作。如果範本啟動成功,Dataflow 會傳回 Job
資源。
Dataflow Flex 範本元件會在收到 Dataflow 的資源時終止。Job
這個元件會輸出 job_id
,做為序列化 gcp_resources
proto。您可以將這個參數傳遞至 WaitGcpResourcesOp
元件,等待 Dataflow 工作完成。
DataflowPythonJobOp
DataflowPythonJobOp
運算子可讓您建立 Vertex AI Pipelines 元件,方法是將以 Python 為基礎的 Apache Beam 工作提交至 Dataflow 執行,藉此準備資料。
Apache Beam 工作的 Python 程式碼會透過 Dataflow Runner 執行。使用 Dataflow 服務執行管道時,執行器會將可執行檔程式碼上傳至 python_module_path
參數指定的位置,並將依附元件上傳至 Cloud Storage 值區 (由 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
元件會立即終止,並以序列化 gcp_resources
proto 的形式傳回 job_id
輸出參數。您可以將這個參數傳遞至 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"] )
Vertex AI Pipelines 會最佳化 WaitGcpResourcesOp
,以無伺服器方式執行,且不收取任何費用。
如果 DataflowPythonJobOp
和 DataflowFlexTemplateJobOp
不符合您的需求,您也可以建立自己的元件,輸出 gcp_resources
參數並傳遞至 WaitGcpResourcesOp
元件。
如要進一步瞭解如何建立 gcp_resources
輸出參數,請參閱「編寫元件來顯示 Google Cloud 控制台連結」。
API 參考資料
如需元件參考資料,請參閱 Google Cloud Dataflow 元件的 SDK 參考資料。
如需 Dataflow 資源參考資料,請參閱下列 API 參考頁面:
教學課程
版本記錄和版本資訊
如要進一步瞭解版本記錄和 Google Cloud Pipeline Components SDK 的變更,請參閱 Google Cloud Pipeline Components SDK 版本資訊。
技術支援聯絡人
如有任何問題,請洽詢 kubeflow-pipelines-components@google.com。