Anda menyiapkan dan menjalankan alur kerja dengan:
- Membuat template alur kerja
- Mengonfigurasi cluster terkelola (sementara) atau memilih cluster yang ada
- Menambahkan tugas
- Membuat instance template untuk menjalankan alur kerja
Membuat template
Google Cloud Konsol
gcloud CLI
Jalankan command berikut untuk membuat resource template alur kerja Managed Service untuk Apache Spark.
gcloud dataproc workflow-templates create TEMPLATE_ID \ --region=REGION
Catatan:
- REGION: Tentukan region tempat template Anda akan berjalan.
- TEMPLATE_ID: Berikan ID untuk template Anda, seperti, "workflow-template-1".
- Enkripsi CMEK. Anda dapat menambahkan --kms-key flag untuk menggunakan enkripsi CMEK pada argumen tugas template alur kerja.
REST API
Kirim WorkflowTemplate sebagai bagian dari permintaan workflowTemplates.create. Anda dapat menambahkan kolom WorkflowTemplate.EncryptionConfig.kmsKey untuk menggunakan enkripsi CMEK pada argumen tugas template alur kerja.
Mengonfigurasi atau memilih cluster
Managed Service untuk Apache Spark dapat membuat dan menggunakan cluster "terkelola" baru untuk alur kerja Anda atau cluster yang ada.
Cluster yang ada: Lihat Menggunakan pemilih cluster dengan alur kerja untuk memilih cluster yang ada untuk alur kerja Anda.
Cluster terkelola: Anda harus mengonfigurasi cluster terkelola untuk alur kerja Anda. Managed Service untuk Apache Spark akan membuat cluster baru ini untuk menjalankan tugas alur kerja, lalu menghapus cluster di akhir alur kerja.
Anda dapat mengonfigurasi cluster terkelola untuk alur kerja Anda menggunakan Google Cloud konsol, Google Cloud CLI, atau Dataproc API.
Google Cloud Konsol
Google Cloud CLI
Gunakan flag yang diwarisi dari gcloud dataproc cluster create untuk mengonfigurasi cluster terkelola, seperti jumlah pekerja dan jenis mesin master dan pekerja.
gcloud dataproc workflow-templates set-managed-cluster TEMPLATE_ID \ --cluster-name=CLUSTER_NAME \ --region=REGION \ --master-machine-types="type=MACHINE_TYPE_1,rank=0" \ --master-machine-types="type=MACHINE_TYPE_2,rank=1" \ --worker-machine-types="type=PRIMARY_WORKER_MACHINE_TYPE_1,rank=0" \ --worker-machine-types="type=PRIMARY_WORKER_MACHINE_TYPE_2,rank=1" \ --num-workers=NUMBER \ --service-account=SERVICE_ACCOUNT
Catatan:
- CLUSTER_NAME: Managed Service untuk Apache Spark menambahkan akhiran ke nama cluster untuk memastikan keunikan.
- MACHINE_TYPE: Anda dapat menggunakan jenis mesin yang fleksibel dan berperingkat VM untuk memberikan ketahanan terhadap ketidaktersediaan resource.
- SERVICE_ACCOUNT: Anda dapat menentukan akun layanan VM untuk cluster terkelola.
REST API
Lihat WorkflowTemplatePlacement.ManagedCluster, yang dapat Anda berikan sebagai bagian dari WorkflowTemplate yang telah selesai dan dikirimkan dengan workflowTemplates.create atau workflowTemplates.update permintaan.
Anda dapat menggunakan
GceClusterConfig.serviceAccountkolom untuk menentukan akun layanan VM untuk cluster terkelola.
Menambahkan tugas ke template
Semua tugas berjalan secara serentak kecuali jika Anda menentukan satu atau beberapa dependensi tugas. Dependensi tugas dinyatakan sebagai daftar tugas lain yang harus berhasil diselesaikan sebelum tugas utama dapat dimulai. Anda harus memberikan step-id untuk setiap tugas. ID harus unik dalam alur kerja, tetapi tidak harus unik secara global.
gcloud CLI
Gunakan jenis pekerjaan dan flag yang diwarisi dari
gcloud dataproc jobs submit
untuk menentukan tugas yang akan ditambahkan ke template. Anda dapat secara opsional menggunakan flag
‑‑start-after job-id of another workflow job
agar tugas dimulai setelah penyelesaian satu atau beberapa tugas lain
dalam alur kerja.
Contoh:
Tambahkan tugas Hadoop "foo" ke template "my-workflow".
gcloud dataproc workflow-templates add-job hadoop \ --region=REGION \ --step-id=foo \ --workflow-template=my-workflow \ -- space separated job args
Tambahkan tugas "bar" ke template "my-workflow", yang akan dijalankan setelah tugas alur kerja "foo" berhasil diselesaikan.
gcloud dataproc workflow-templates add-job JOB_TYPE \ --region=REGION \ --step-id=bar \ --start-after=foo \ --workflow-template=my-workflow \ -- space separated job args
Tambahkan tugas lain "baz" ke template "my-workflow" untuk dijalankan setelah penyelesaian tugas "foo" dan "bar" berhasil.
gcloud dataproc workflow-templates add-job JOB_TYPE \ --region=REGION \ --step-id=baz \ --start-after=foo,bar \ --workflow-template=my-workflow \ -- space separated job args
REST API
Lihat WorkflowTemplate.OrderedJob. Kolom ini disediakan sebagai bagian dari a completed WorkflowTemplate submitted with a workflowTemplates.create or workflowTemplates.update request.
Konsol
Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat instance-nya dari halaman Workflows Managed Service untuk Apache Spark di Google Cloud konsol.
Menjalankan alur kerja
Pembuatan instance template alur kerja menjalankan alur kerja yang ditentukan oleh template. Beberapa pembuatan instance template didukung—Anda dapat menjalankan alur kerja beberapa kali.
Perintah gcloud
gcloud dataproc workflow-templates instantiate TEMPLATE_ID \ --region=REGION
Perintah ini menampilkan ID operasi, yang dapat Anda gunakan untuk melacak status alur kerja.
Contoh perintah dan output:gcloud beta dataproc workflow-templates instantiate my-template-id \ --region=us-central1 ... WorkflowTemplate [my-template-id] RUNNING ... Created cluster: my-template-id-rg544az7mpbfa. Job ID teragen-rg544az7mpbfa RUNNING Job ID teragen-rg544az7mpbfa COMPLETED Job ID terasort-rg544az7mpbfa RUNNING Job ID terasort-rg544az7mpbfa COMPLETED Job ID teravalidate-rg544az7mpbfa RUNNING Job ID teravalidate-rg544az7mpbfa COMPLETED ... Deleted cluster: my-template-id-rg544az7mpbfa. WorkflowTemplate [my-template-id] DONE
REST API
Lihat workflowTemplates.instantiate.Konsol
Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat instance-nya dari halaman Workflows Managed Service untuk Apache Spark di Google Cloud konsol.
Kegagalan tugas alur kerja
Kegagalan dalam tugas apa pun dalam alur kerja akan menyebabkan alur kerja gagal. Managed Service untuk Apache Spark akan berupaya mengurangi efek kegagalan dengan menyebabkan semua tugas yang berjalan secara serentak gagal dan mencegah tugas berikutnya dimulai.
Memantau dan mencantumkan alur kerja
gcloud CLI
Untuk memantau alur kerja:
gcloud dataproc operations describe OPERATION_ID \ --region=REGION
Catatan: operation-id ditampilkan saat Anda membuat instance alur kerja
dengan gcloud dataproc workflow-templates instantiate (lihat
Menjalankan alur kerja).
Untuk mencantumkan status alur kerja:
gcloud dataproc operations list \ --region=REGION \ --filter="labels.goog-dataproc-operation-type=WORKFLOW AND status.state=RUNNING"
REST API
Untuk memantau alur kerja, gunakan Managed Service untuk Apache Spark operations.get API.
Untuk mencantumkan alur kerja yang sedang berjalan, gunakan Managed Service untuk Apache Spark operations.list API dengan filter label.
Konsol
Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat instance-nya dari halaman Workflows Managed Service untuk Apache Spark di Google Cloud konsol.
Menghentikan alur kerja
Anda dapat mengakhiri alur kerja menggunakan Google Cloud CLI atau dengan memanggil Dataproc API.
Perintah gcloud
gcloud dataproc operations cancel OPERATION_ID \ --region=REGION
gcloud dataproc workflow-templates instantiate (lihat
Menjalankan alur kerja).
REST API
Lihat operations.cancel API.
Konsol
Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat instance-nya dari halaman Workflows Managed Service untuk Apache Spark di Google Cloud konsol.
Memperbarui template alur kerja
Pembaruan tidak memengaruhi alur kerja yang sedang berjalan. Versi template baru hanya akan berlaku untuk alur kerja baru.
gcloud CLI
Template alur kerja dapat diperbarui dengan mengeluarkan perintah gcloud workflow-templates
baru yang mereferensikan workflow template-id yang ada:
REST API
Untuk melakukan pembaruan pada template dengan REST API:
- Panggil workflowTemplates.get, yang menampilkan template saat ini dengan kolom
versionyang diisi dengan versi server saat ini. - Lakukan pembaruan pada template yang diambil.
- Panggil workflowTemplates.update dengan template yang diperbarui.
Konsol
Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat instance-nya dari halaman Workflows Managed Service untuk Apache Spark di Google Cloud konsol.
Menghapus template alur kerja
gcloud CLI
gcloud dataproc workflow-templates delete TEMPLATE_ID \ --region=REGION
Catatan: operation-id yang ditampilkan saat Anda membuat instance alur kerja
dengan gcloud dataproc workflow-templates instantiate (lihat
Menjalankan alur kerja).
REST API
Lihat workflowTemplates.delete.Konsol
Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat instance-nya dari halaman Workflows Managed Service untuk Apache Spark di Google Cloud konsol.