Halaman ini memberikan informasi untuk membantu Anda memantau dan men-debug alur kerja Dataproc.
Mencantumkan alur kerja
WorkflowTemplate yang dibuat instance-nya disebut "alur kerja" dan dimodelkan sebagai "operasi".
Jalankan perintah gcloud
berikut untuk mencantumkan alur kerja project Anda:
gcloud dataproc operations list \ --region=region \ --filter="operationType = WORKFLOW"
... OPERATION_NAME DONE projects/.../operations/07282b66-2c60-4919-9154-13bd4f03a1f2 True projects/.../operations/1c0b0fd5-839a-4ad4-9a57-bbb011956690 True
Berikut adalah contoh permintaan untuk mencantumkan semua alur kerja yang dimulai dari template "terasort":
gcloud dataproc operations list \ --region=region \ --filter="labels.goog-dataproc-workflow-template-id=terasort"
... OPERATION_NAME DONE projects/.../07282b66-2c60-4919-9154-13bd4f03a1f2 True projects/.../1c0b0fd5-839a-4ad4-9a57-bbb011956690 True
Perhatikan bahwa hanya bagian UUID dari OPERATION_NAME
yang digunakan dalam kueri berikutnya.
Menggunakan WorkflowMetadata
Kolom operation.metadata
memberikan informasi untuk membantu Anda mendiagnosis
kegagalan alur kerja.
Berikut adalah contoh
WorkflowMetadata
,
termasuk grafik node (tugas), yang disematkan dalam operasi:
{ "name": "projects/my-project/regions/us-central1/operations/671c1d5d-9d24-4cc7-8c93-846e0f886d6e", "metadata": { "@type": "type.googleapis.com/google.cloud.dataproc.v1.WorkflowMetadata", "template": "terasort", "version": 1, "createCluster": { "operationId": "projects/my-project/regions/us-central1/operations/8d472870-4a8b-4609-9f7d-48daccb028fc", "Done": true }, "graph": { "nodes": [ { "stepId": "teragen", "jobId": "teragen-vtrprwcgepyny", "state": "COMPLETED" }, { "stepId": "terasort", "prerequisiteStepIds": [ "teragen" ], "jobId": "terasort-vtrprwcgepyny", "state": "FAILED", "error": "Job failed" }, { "stepId": "teravalidate", "prerequisiteStepIds": [ "terasort" ], "state": "FAILED", "error": "Skipped, node terasort failed" } ] }, "deleteCluster": { "operationId": "projects/my-project/regions/us-central1/operations/9654c67b-2642-4142-a145-ca908e7c81c9", "Done": true }, "state": "DONE", "clusterName": "terasort-cluster-vtrprwcgepyny" }, "done": true, "error": { "message": "Workflow failed" } } Done!
Mengambil template
Seperti yang ditunjukkan pada contoh sebelumnya, metadata
berisi ID dan versi template.
"template": "terasort", "version": 1,
Jika template tidak dihapus, versi template yang dibuat instance-nya dapat diambil oleh permintaan deskripsi dengan versi.
gcloud dataproc workflow-templates describe terasort \ --region=region \ --version=1
Buat daftar operasi cluster yang dimulai oleh template:
gcloud dataproc operations list \ --region=region \ --filter="labels.goog-dataproc-workflow-instance-id = 07282b66-2c60-4919-9154-13bd4f03a1f2"
... OPERATION_NAME DONE projects/.../cf9ce692-d6c9-4671-a909-09fd62041024 True projects/.../1bbaefd9-7fd9-460f-9adf-ee9bc448b8b7 True
Berikut adalah contoh permintaan untuk mencantumkan tugas yang dikirimkan dari template:
gcloud dataproc jobs list \ --region=region \ --filter="labels.goog-dataproc-workflow-template-id = terasort"
... JOB_ID TYPE STATUS terasort2-ci2ejdq2ta7l6 pyspark DONE terasort2-ci2ejdq2ta7l6 pyspark DONE terasort1-ci2ejdq2ta7l6 pyspark DONE terasort3-3xwsy6ubbs4ak pyspark DONE terasort2-3xwsy6ubbs4ak pyspark DONE terasort1-3xwsy6ubbs4ak pyspark DONE terasort3-ajov4nptsllti pyspark DONE terasort2-ajov4nptsllti pyspark DONE terasort1-ajov4nptsllti pyspark DONE terasort1-b262xachbv6c4 pyspark DONE terasort1-cryvid3kreea2 pyspark DONE terasort1-ndprn46nesbv4 pyspark DONE terasort1-yznruxam4ppxi pyspark DONE terasort1-ttjbhpqmw55t6 pyspark DONE terasort1-d7svwzloplbni pyspark DONE
Mencantumkan tugas yang dikirimkan dari instance alur kerja:
gcloud dataproc jobs list \ --region=region \ --filter="labels.goog-dataproc-workflow-instance-id = 07282b66-2c60-4919-9154-13bd4f03a1f2"
... JOB_ID TYPE STATUS terasort3-ci2ejdq2ta7l6 pyspark DONE terasort2-ci2ejdq2ta7l6 pyspark DONE terasort1-ci2ejdq2ta7l6 pyspark DONE
Waktu tunggu alur kerja
Anda dapat menetapkan waktu tunggu alur kerja yang akan membatalkan alur kerja jika tugas alur kerja tidak selesai dalam periode waktu tunggu. Periode waktu tunggu berlaku untuk DAG (Directed Acyclic Graph) tugas dalam alur kerja (urutan tugas dalam alur kerja), bukan untuk seluruh operasi alur kerja. Periode waktu tunggu dimulai saat tugas alur kerja pertama dimulai, dan tidak mencakup waktu yang diperlukan untuk membuat cluster terkelola. Jika ada tugas yang berjalan di akhir periode waktu tunggu, semua tugas yang berjalan akan dihentikan, alur kerja akan diakhiri, dan jika alur kerja berjalan di cluster terkelola, cluster akan dihapus.
Manfaat: Gunakan fitur ini agar tidak perlu mengakhiri alur kerja secara manual yang tidak selesai karena tugas macet.
Menetapkan waktu tunggu template alur kerja
Anda dapat menetapkan periode waktu tunggu template alur kerja saat membuat template alur kerja. Anda juga dapat menambahkan waktu tunggu alur kerja ke template alur kerja yang ada dengan memperbarui template alur kerja.
gcloud
Untuk menetapkan waktu tunggu alur kerja pada template baru, gunakan flag --dag-timeout
dengan perintah gcloud dataproc workflow-templates create. Anda dapat menggunakan akhiran "s", "m", "h", dan "d"
untuk menetapkan nilai durasi detik, menit, jam, dan hari. Durasi waktu tunggu harus antara 10 menit ("10m") hingga 24 jam ("24h" atau "1d").
gcloud dataproc workflow-templates create template-id (such as "my-workflow") \ --region=region \ --dag-timeout=duration (from "10m" to "24h" or "1d"") \ ... other args ...
API
Untuk menetapkan waktu tunggu alur kerja, isi kolom WorkflowTemplate
dagTimeout
sebagai bagian dari permintaan workflowTemplates.create.
Konsol
Saat ini, konsol Google Cloud tidak mendukung pembuatan template alur kerja.
Waktu tunggu pembaruan template alur kerja
Anda dapat memperbarui template alur kerja yang ada untuk mengubah, menambahkan, atau menghapus waktu tunggu alur kerja.
gcloud
Menambahkan atau mengubah waktu tunggu alur kerja
Untuk menambahkan atau mengubah waktu tunggu alur kerja pada template yang ada, gunakan flag --dag-timeout
dengan perintah gcloud dataproc workflow-templates set-dag-timeout. Anda dapat menggunakan akhiran "s", "m", "h", dan "d" untuk menetapkan nilai durasi detik, menit,
jam, dan hari. Durasi waktu tunggu habis harus dari
10 menit ("10m") hingga 24 jam ("24h").
gcloud dataproc workflow-templates set-dag-timeout template-id (such as "my-workflow") \ --region=region \ --dag-timeout=duration (from "10m" to "24h" or "1d")
Menghapus waktu tunggu alur kerja
Untuk menghapus waktu tunggu alur kerja dari template yang ada, gunakan perintah gcloud dataproc workflow-templates remove-dag-timeout.
gcloud dataproc workflow-templates remove-dag-timeout template-id (such as "my-workflow") \ --region=region
API
Menambahkan atau mengubah waktu tunggu alur kerja
Untuk menambahkan atau mengubah waktu tunggu alur kerja pada template yang ada,
perbarui template alur kerja
dengan mengisi kolom
dagTimeout
template dengan nilai waktu tunggu yang baru atau yang diubah.
Menghapus waktu tunggu alur kerja
Untuk menghapus waktu tunggu alur kerja dari template yang ada,
perbarui template alur kerja
dengan menghapus kolom
dagTimeout
template.
Konsol
Saat ini, konsol Google Cloud tidak mendukung pembaruan template alur kerja.