Dengan komponen Dataflow, Anda dapat mengirimkan tugas Apache Beam ke Dataflow untuk dijalankan.
Di Dataflow, resource Job
merepresentasikan tugas Dataflow. Google Cloud Pipeline Components SDK menyertakan
operator berikut untuk membuat resource Job
dan memantau eksekusinya:
DataflowFlexTemplateJobOp
Operator DataflowFlexTemplateJobOp
memungkinkan Anda membuat
komponen Vertex AI Pipelines untuk meluncurkan
Template Flex Dataflow.
Di Dataflow, resource LaunchFlexTemplateParameter
merepresentasikan Template Flex yang akan diluncurkan. Komponen ini membuat resource LaunchFlexTemplateParameter
, lalu meminta Dataflow untuk membuat tugas dengan meluncurkan template. Jika template berhasil diluncurkan, Dataflow akan menampilkan resource Job
.
Komponen Template Flex Dataflow dihentikan setelah menerima resource Job
dari Dataflow. Komponen ini menghasilkan job_id
sebagai
proto gcp_resources
serial. Anda dapat meneruskan parameter ini ke komponen WaitGcpResourcesOp
, untuk menunggu tugas Dataflow selesai.
DataflowPythonJobOp
Operator DataflowPythonJobOp
memungkinkan Anda membuat komponen Vertex AI Pipelines yang menyiapkan
data dengan mengirimkan tugas Apache Beam berbasis Python ke Dataflow untuk
dijalankan.
Kode Python dari tugas Apache Beam berjalan dengan Dataflow Runner.
Saat Anda menjalankan pipeline dengan layanan Dataflow, runner akan mengupload kode yang dapat dieksekusi ke lokasi yang ditentukan oleh parameter dan dependensi python_module_path
ke bucket Cloud Storage (ditentukan oleh temp_location
), dan kemudian membuat tugas Dataflow yang menjalankan pipeline Apache Beam Anda pada resource terkelola di Google Cloud.
Untuk mempelajari Runner Dataflow lebih lanjut, lihat Menggunakan Runner Dataflow.
Komponen Dataflow Python menerima daftar argumen yang diteruskan melalui Beam Runner ke kode Apache Beam Anda. Argumen ini ditentukan oleh args
. Misalnya, Anda dapat menggunakan
argumen ini guna menetapkan
apache_beam.options.pipeline_options
untuk menentukan jaringan, subnetwork, kunci enkripsi yang dikelola pelanggan (CMEK), dan opsi lainnya saat Anda menjalankan tugas Dataflow.
WaitGcpResourcesOp
Tugas Dataflow sering kali memerlukan waktu lama untuk diselesaikan. Biaya container busy-wait
(container yang meluncurkan tugas Dataflow dan menunggu hasilnya) dapat menjadi mahal.
Setelah mengirimkan tugas Dataflow melalui runner Beam, komponen DataflowPythonJobOp
akan segera dihentikan dan menampilkan parameter output job_id
sebagai proto gcp_resources
yang diserialisasi. Anda
dapat meneruskan parameter ini ke komponen WaitGcpResourcesOp
, untuk menunggu
tugas Dataflow selesai.
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 mengoptimalkan WaitGcpResourcesOp
untuk menjalankannya secara
serverless, dan tanpa biaya.
Jika DataflowPythonJobOp
dan DataflowFlexTemplateJobOp
tidak memenuhi persyaratan
Anda, Anda juga dapat membuat komponen sendiri yang menghasilkan parameter
gcp_resources
dan meneruskannya ke komponen WaitGcpResourcesOp
.
Untuk mengetahui informasi selengkapnya tentang cara membuat parameter output gcp_resources
, lihat
Menulis komponen untuk menampilkan link konsol Google Cloud.
Referensi API
Untuk referensi komponen, lihat
referensi SDK google_cloud_pipeline_components
untuk:
Untuk referensi resource Dataflow, lihat halaman referensi API berikut:
LaunchFlexTemplateParameter
resourceJob
resource
Tutorial
- Mulai menggunakan komponen Template Flex Dataflow
- Mulai menggunakan komponen Tugas Python Dataflow
- Menentukan jaringan dan subnetwork
- Menggunakan kunci enkripsi yang dikelola pelanggan (CMEK)
Histori versi dan catatan rilis
Untuk mempelajari lebih lanjut histori versi dan perubahan pada Google Cloud Pipeline Components SDK, lihat Catatan Rilis Google Cloud Pipeline Components SDK.
Kontak dukungan teknis
Jika ada pertanyaan, hubungi kubeflow-pipelines-components@google.com.