您可以使用 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 執行器傳遞至 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_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。