Halaman ini memberikan informasi untuk membantu Anda memantau dan men-debug alur kerja Dataproc.
Mencantumkan alur kerja
WorkflowTemplate yang di-instansiasi 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 dalam contoh sebelumnya, metadata
berisi ID dan versi template.
"template": "terasort", "version": 1,
Jika template tidak dihapus, versi template yang di-instantiate dapat diambil dengan permintaan describe-with-version.
gcloud dataproc workflow-templates describe terasort \ --region=region \ --version=1
Mencantumkan 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 menyetel 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—tidak termasuk waktu yang diperlukan untuk membuat managed cluster. Jika ada tugas yang berjalan di akhir periode waktu tunggu, semua tugas yang berjalan akan dihentikan, alur kerja akan berakhir, 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 menyetel 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 menyetel 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 habis
harus dari 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 menyetel waktu tunggu alur kerja, selesaikan kolom WorkflowTemplate
dagTimeout
sebagai bagian dari permintaan workflowTemplates.create.
Konsol
Saat ini, konsol Google Cloud tidak mendukung pembuatan template alur kerja.
Memperbarui waktu tunggu 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 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.