Menggunakan alur kerja

Anda menyiapkan dan menjalankan alur kerja dengan:

  1. Membuat template alur kerja
  2. Mengonfigurasi cluster terkelola (efemeral) atau memilih cluster yang ada
  3. Menambahkan tugas
  4. Membuat instance template untuk menjalankan alur kerja

Buat template

KonsolGoogle Cloud

Pilih Create Workflow Template dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud , lalu konfirmasi atau berikan setelan template, cluster, tugas, dan dependensi.

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 dijalankan.
  • TEMPLATE_ID: Berikan ID untuk template Anda, misalnya, "workflow-template-1".
  • Enkripsi CMEK. Anda dapat menambahkan flag --kms-key untuk menggunakan enkripsi CMEK pada argumen tugas template alur kerja.

REST API

Kirimkan WorkflowTemplate sebagai bagian dari permintaan workflowTemplates.create. Anda dapat menambahkan kolom WorkflowTemplate.EncryptionConfig.kmsKey untuk menggunakan enkripsi CMEK pada argumen tugas template alur kerja.

Konfigurasi atau pilih cluster

Managed Service untuk Apache Spark dapat membuat dan menggunakan cluster baru yang "terkelola" untuk alur kerja Anda atau cluster yang sudah 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 menggunakan konsol Google Cloud , Google Cloud CLI, atau Dataproc API.

    KonsolGoogle Cloud

    Pilih Create Workflow Template dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud , lalu konfirmasi atau berikan setelan template, cluster, tugas, dan dependensi.

    Google Cloud CLI

    Gunakan flag yang diwarisi dari gcloud dataproc cluster create untuk mengonfigurasi cluster terkelola, seperti jumlah worker serta jenis mesin master dan worker.

    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 peringkat VM fleksibel 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 permintaan workflowTemplates.create atau workflowTemplates.update.

    Anda dapat menggunakan kolom GceClusterConfig.serviceAccount untuk menentukan akun layanan VM untuk cluster terkelola.

Tambahkan 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 akhir 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 menggunakan flag ‑‑start-after job-id of another workflow job untuk memulai tugas setelah satu atau beberapa tugas lain dalam alur kerja selesai.

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" yang akan dijalankan setelah tugas "foo" dan "bar" berhasil diselesaikan.

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 WorkflowTemplate yang telah selesai dan dikirimkan dengan permintaan workflowTemplates.create atau workflowTemplates.update.

Konsol

Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud .

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 dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud .

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 dampak kegagalan dengan menyebabkan semua tugas yang dijalankan 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: ID operasi 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 API operations.get Managed Service untuk Apache Spark.

Untuk mencantumkan alur kerja yang berjalan, gunakan API operations.list Managed Service untuk Apache Spark dengan filter label.

Konsol

Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud .

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
Catatan: ID operasi yang ditampilkan saat Anda membuat instance alur kerja dengan gcloud dataproc workflow-templates instantiate (lihat Menjalankan alur kerja).

REST API

Lihat API operations.cancel.

Konsol

Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud .

Mengupdate template alur kerja

Update 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 merujuk ke template-id alur kerja yang ada:

ke template alur kerja yang ada.

REST API

Untuk mengupdate template dengan REST API:

  1. Panggil workflowTemplates.get, yang menampilkan template saat ini dengan kolom version yang diisi dengan versi server saat ini.
  2. Lakukan pembaruan pada template yang diambil.
  3. Panggil workflowTemplates.update dengan template yang telah diupdate.

Konsol

Anda dapat melihat template alur kerja yang ada dan alur kerja yang dibuat dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud .

Menghapus template alur kerja

gcloud CLI

gcloud dataproc workflow-templates delete TEMPLATE_ID \
    --region=REGION

Catatan: ID operasi 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 dari halaman Workflows Managed Service untuk Apache Spark di konsol Google Cloud .