Alur kerja menggunakan Cloud Scheduler

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:

  • Dataproc
  • Compute Engine
  • Cloud Scheduler

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Sebelum memulai

Menyiapkan project

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Membuat peran khusus

  1. Buka halaman Buka IAM & Admin → Roles di konsol Google Cloud.
    1. Klik CREATE ROLE untuk membuka halaman Create Role.
    2. Isi kolom Judul, Deskripsi, ID, Tahap peluncuran. Saran: Gunakan "Pembuatan Template Alur Kerja Dataproc" sebagai judul peran.
    3. Klik TAMBAHKAN PERMISSION,
      1. Di formulir Tambahkan Izin, klik Filter, lalu pilih "Izin". Lengkapi filter untuk membaca "Izin: dataproc.workflowTemplates.instantiate".
      2. Klik kotak centang di sebelah kiri izin yang tercantum, lalu klik TAMBAHKAN.
    4. Di halaman Buat Peran, klik TAMBAHKAN IZIN lagi untuk mengulangi sub-langkah sebelumnya guna menambahkan izin "iam.serviceAccounts.actAs" ke peran kustom. Halaman Create Role kini mencantumkan dua izin.
    5. Klik BUAT di halaman Peran Kustom. Peran kustom tercantum di halaman Peran.

Membuat akun layanan

  1. Di konsol Google Cloud, buka halaman Akun Layanan.

    Buka Akun Layanan

  2. Pilih project Anda.

  3. Klik Buat Akun Layanan.

  4. Di kolom Nama akun layanan, masukkan nama workflow-scheduler. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

  5. Opsional: Di kolom Deskripsi akun layanan, masukkan deskripsi akun layanan.

  6. Klik Buat dan lanjutkan.

  7. Klik kolom Pilih peran, lalu pilih peran kustom Pembuatan Template Alur Kerja Dataproc yang Anda buat di langkah sebelumnya.

  8. Klik Lanjutkan.

  9. Di kolom Peran admin akun layanan, masukkan alamat email Akun Google Anda.

  10. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

Buat template alur kerja.

Salin dan jalankan perintah yang tercantum di bawah ini di jendela terminal lokal atau di Cloud Shell untuk membuat dan menentukan template alur kerja.

Catatan:

  • Perintah tersebut menentukan region "us-central1". Anda dapat menentukan region yang berbeda atau menghapus tanda --region jika sebelumnya telah menjalankan gcloud config set compute/region untuk menetapkan properti region.
  • Urutan "-- " (tanda hubung hubung spasi) dalam perintah add-job meneruskan argumen 1000 ke tugas SparkPi, yang menentukan jumlah sampel yang akan digunakan untuk memperkirakan nilai Pi.

  1. Buat template alur kerja.

    gcloud dataproc workflow-templates create sparkpi \
        --region=us-central1
    
  2. Tambahkan tugas spark ke template alur kerja sparkpi. ID langkah "compute" diperlukan, dan mengidentifikasi tugas SparkPi yang ditambahkan.
    gcloud dataproc workflow-templates add-job spark \
        --workflow-template=sparkpi \
        --step-id=compute \
        --class=org.apache.spark.examples.SparkPi \
        --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \
        --region=us-central1 \
        -- 1000
    

  3. Gunakan cluster single-node terkelola untuk menjalankan alur kerja. Dataproc akan membuat cluster, menjalankan alur kerja di dalamnya, lalu menghapus cluster saat alur kerja selesai.

    gcloud dataproc workflow-templates set-managed-cluster sparkpi \
        --cluster-name=sparkpi \
        --single-node \
        --region=us-central1
    

  4. Klik nama sparkpi di halaman Workflows Dataproc di konsol Google Cloud untuk membuka halaman Workflow template details. Konfirmasi atribut template sparkpi.

Buat tugas Cloud Scheduler

  1. Buka halaman Cloud Scheduler di konsol Google Cloud (Anda mungkin perlu memilih project untuk membuka halaman). Klik CREATE JOB.

  2. Masukkan atau pilih informasi lowongan berikut:

    1. Pilih region: "us-central" atau region lain tempat Anda membuat template alur kerja.
    2. Nama: "sparkpi"
    3. Frekuensi: "* * * * *" memilih setiap menit; "0 9 * * 1" memilih setiap Senin pukul 09.00. Lihat Menentukan Jadwal Tugas untuk nilai unix-cron lainnya. Catatan: Anda dapat mengklik tombol RUN NOW di Jobs Cloud Scheduler di konsol Google Cloud untuk menjalankan dan menguji tugas, terlepas dari frekuensi yang Anda tetapkan untuk tugas.
    4. Zona waktu: Pilih timezone Anda. Ketik "Amerika Serikat" untuk mencantumkan zona waktu AS.
    5. Target: "HTTP"
    6. URL: Sisipkan URL berikut setelah menyisipkan your-project-id. Ganti "us-central1" jika Anda membuat template alur kerja di region yang berbeda. URL ini akan memanggil workflowTemplates.instantiate Dataproc API untuk menjalankan template alur kerja sparkpi Anda.
      https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
      
    7. Metode HTTP:
      1. "POST"
      2. Isi: "{}"
    8. Header autentikasi:
      1. "Tambahkan token OAuth"
      2. Akun layanan: Masukkan service account address dari akun layanan yang Anda buat untuk tutorial ini. Anda dapat menggunakan alamat akun berikut setelah menyisipkan your-project-id:
        workflow-scheduler@your-project-id.iam.gserviceaccount.com
        
      3. Cakupan: Anda dapat mengabaikan item ini.
    9. Klik BUAT.

Menguji tugas alur kerja terjadwal

  1. Di baris tugas sparkpi di halaman Tugas Cloud Scheduler, klik JALANKAN SEKARANG.

  2. Tunggu beberapa menit, lalu buka halaman Alur Kerja Dataproc untuk memverifikasi bahwa alur kerja sparkpi telah selesai.

  3. Setelah alur kerja menghapus cluster terkelola, detail tugas akan tetap ada di konsol Google Cloud. Klik tugas compute... yang tercantum di halaman Tugas Dataproc untuk melihat detail tugas alur kerja.

Pembersihan

Alur kerja dalam tutorial ini akan menghapus cluster terkelolanya saat alur kerja selesai. Dengan mempertahankan alur kerja, Anda dapat menjalankan ulang alur kerja dan tidak dikenai biaya. Anda dapat menghapus resource lain yang dibuat dalam tutorial ini untuk menghindari biaya berulang.

Menghapus project

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Menghapus template alur kerja

gcloud dataproc workflow-templates delete sparkpi \
    --region=us-central1

Menghapus tugas Cloud Scheduler

Buka halaman Jobs Cloud Scheduler di konsol Google Cloud, pilih kotak di sebelah kiri fungsi sparkpi, lalu klik HAPUS.

Menghapus akun layanan Anda

Buka halaman IAM & Admin → Service Accounts di konsol Google Cloud, pilih kotak di sebelah kiri akun layanan workflow-scheduler..., lalu klik HAPUS.

Langkah selanjutnya