Menjadwalkan skrip dan notebook SQL

Dengan menjadwalkan skrip dan notebook SQL, Anda dapat mengoperasikan aset yang dibuat di Workbench eksplorasi data (Jelajahi).

Menjadwalkan skrip SQL atau notebook akan membuat tugas Dataplex yang berjalan pada waktu yang telah ditentukan, sekali atau secara berulang. Setelah setiap operasi, tugas akan dibuat yang mengambil metadata eksekusi, seperti waktu mulai dan waktu berakhir eksekusi, status eksekusi, log, dan output yang dihasilkan.

Saat operasi dijalankan untuk skrip SQL terjadwal atau notebook, versi saat ini dari notebook atau skrip SQL akan dieksekusi. Artinya, jika Anda menjadwalkan notebook atau skrip SQL, lalu memperbarui kontennya, pembaruan tersebut juga akan tercermin dalam eksekusi terjadwal notebook atau skrip SQL.

Biaya

Skrip SQL terjadwal dan notebook terjadwal memicu eksekusi tugas menggunakan Dataproc Serverless. Penggunaan dikenai biaya sesuai dengan model harga Dataproc dan biaya akan muncul di bagian Dataproc, bukan Dataplex.

Sebelum memulai

Tinjau dan selesaikan prasyarat yang dijelaskan dalam dokumen berikut:

Jika skrip SQL atau jadwal notebook menggunakan BigQuery API, Anda harus memberikan peran Konsumen Penggunaan Layanan (roles/serviceusage.serviceUsageConsumer) kepada akun layanan.

Batasan umum

  • Saat menjadwalkan notebook menggunakan konsol Google Cloud, paket Python tambahan yang dikonfigurasi di lingkungan yang dipilih tidak akan tersedia saat runtime untuk notebook terjadwal. Agar tersedia saat runtime, Anda harus membuat jadwal notebook yang mereferensikan image container dengan paket tambahan yang diperlukan. Untuk informasi selengkapnya, lihat Menjadwalkan notebook dengan paket kustom.

  • Menggunakan konsol Google Cloud untuk mereferensikan image penampung kustom saat menjadwalkan notebook tidak didukung. Sebagai gantinya, gunakan gcloud CLI.

  • Anda tidak dapat mengedit jadwal setelah dibuat. Untuk memperbarui parameter jadwal, Anda harus membuat ulang jadwal dengan parameter baru.

  • Anda tidak dapat menentukan versi skrip atau notebook SQL tertentu yang akan digunakan dalam jadwal. Saat jadwal dipicu, skrip atau notebook SQL versi saat ini akan digunakan.

  • Saat menjadwalkan skrip dan notebook SQL menggunakan Konsol Google Cloud, subjaringan default akan digunakan. Untuk menentukan jaringan atau subjaringan lain, gunakan gcloud CLI.

Selain itu, tinjau batasan umum Jelajah.

Membuat dan mengelola jadwal untuk skrip SQL

Konfigurasi runtime untuk skrip SQL terjadwal

Saat dijadwalkan, skrip SQL akan berjalan sebagai tugas Dataplex. Saat jadwal dibuat menggunakan konsol Google Cloud, parameter runtime tugas yang sesuai untuk skrip SQL terjadwal diwarisi dari lingkungan skrip SQL tersebut berdasarkan pemetaan berikut:

Parameter konfigurasi lingkungan Parameter konfigurasi tugas skrip SQL terjadwal
Ukuran disk utama Image container / Properti:
   spark.dataproc.driver.disk.size
   spark.dataproc.executor.disk.size
Jumlah node Jumlah Batch / Eksekutor
Jumlah maksimum node Jumlah Batch / Eksekutor maksimum
Versi image Tidak diwariskan
File JAR Image container / JAR Java
Paket Python Tidak diwariskan
Properti tambahan Image container / Properti

Menjadwalkan skrip SQL

Konsol

  1. Di konsol Google Cloud, buka halaman Jelajahi Dataplex.

    Buka Jelajahi Dataplex

  2. Pilih skrip SQL yang ingin Anda jadwalkan, baik dengan memilih satu skrip SQL dari daftar Spark SQL Scripts atau dengan membuka skrip SQL di Spark SQL Editor.

  3. Di menu Jadwal, klik Buat Jadwal.

  4. Di kolom Schedule name, masukkan nama untuk instance terjadwal.

  5. Di bagian Schedule Options, pilih apakah Anda ingin menjalankan skrip SQL hanya sekali atau secara berulang:

    1. Jika Anda memilih Run Once, tentukan apakah Anda ingin langsung menjalankan skrip SQL atau pada waktu yang dijadwalkan, menggunakan opsi di menu Start. Untuk operasi terjadwal, tentukan tanggal mulai dan waktu operasi.

    2. Jika Anda memilih Berulang, tentukan apakah Anda ingin menjalankan skrip SQL setiap hari, setiap minggu, setiap bulan, atau pada jadwal kustom yang ditentukan menggunakan ekspresi cron. Selain itu, tentukan tanggal mulai dan waktu proses untuk operasi terjadwal awal.

  6. Di bagian Destination for results, lakukan tindakan berikut:

    1. Di kolom Output folder name, klik Browse, lalu pilih folder di bucket Cloud Storage tempat Anda ingin menyimpan output skrip.

    2. Klik Pilih.

    3. Pilih Format output skrip. Format yang didukung adalah CSV, JSON, ORC, dan Parquet.

  7. Di bagian Kredensial skrip terjadwal, pilih akun layanan dari menu User service account.

  8. Klik Jadwalkan.

gcloud

Untuk mengetahui informasi tentang cara menjadwalkan skrip SQL menggunakan gcloud CLI, lihat Menjadwalkan tugas SparkSQL.

REST

Gunakan API Explorer untuk membuat tugas.

Mengelola jadwal skrip SQL

Konsol

Membuka daftar semua jadwal skrip SQL

  1. Di konsol Google Cloud, buka halaman Process Dataplex.

  2. Klik tab Scheduled queries untuk melihat daftar jadwal skrip SQL.

Membuka daftar semua jadwal untuk skrip SQL tertentu

  1. Di konsol Google Cloud, buka halaman Jelajahi Dataplex.

  2. Pilih skrip SQL yang diperlukan.

  3. Di menu Jadwal, klik Lihat Jadwal.

    Tab Kueri terjadwal akan terbuka dengan daftar jadwal skrip SQL yang difilter oleh skrip SQL yang dipilih.

Melihat detail jadwal skrip SQL

  1. Buka tab Kueri terjadwal, lalu pilih jadwal skrip SQL yang diperlukan.

  2. Klik tab Details untuk melihat detail jadwal skrip SQL dan pratinjau konten skrip SQL terjadwal.

Mengaktifkan dan menonaktifkan jadwal skrip SQL

  1. Buka tab Kueri terjadwal, lalu pilih jadwal skrip SQL yang diperlukan.

  2. Klik Nonaktifkan untuk menonaktifkan jadwal skrip SQL yang aktif.

  3. Klik Aktifkan untuk mengaktifkan jadwal skrip SQL yang tidak aktif.

Menghapus jadwal skrip SQL yang ada

  1. Buka tab Kueri terjadwal, lalu pilih jadwal skrip SQL yang diperlukan.

  2. Klik Hapus untuk menghapus jadwal skrip SQL yang ada secara permanen.

Melihat log dan mengelola jadwal skrip SQL

  1. Buka tab Kueri terjadwal, lalu pilih jadwal skrip SQL yang diperlukan.

  2. Klik tab Tugas, lalu klik ID Tugas dari skrip SQL terjadwal yang dijalankan dan ingin Anda lihat.

  3. Klik Lihat log untuk melihat log yang terkait dengan skrip SQL terjadwal yang dipilih dan dijalankan di Cloud Logging.

  4. Klik Dataproc Batch ID untuk membuka halaman Dataproc di konsol Google Cloud. Akses detail sesi Dataproc Serverless yang sesuai.

  5. Klik Kelola di Cloud Storage di samping label Output untuk membuka halaman Cloud Storage di Konsol Google Cloud. Akses detail bucket Cloud Storage yang sesuai yang berisi output eksekusi skrip SQL.

gcloud

Untuk informasi tentang cara memantau skrip SQL terjadwal menggunakan gcloud CLI, lihat tab gcloud di Memantau tugas Anda.

Untuk informasi tentang cara mengelola skrip SQL terjadwal menggunakan gcloud CLI, lihat tab gcloud di Mengelola jadwal.

REST

Untuk informasi tentang cara memantau skrip SQL terjadwal menggunakan REST, lihat tab REST di Memantau tugas.

Untuk mengetahui informasi tentang cara mengelola skrip SQL terjadwal menggunakan REST, lihat tab REST di Mengelola jadwal.

Output skrip SQL terjadwal

Output dari setiap eksekusi skrip SQL terjadwal disimpan di lokasi yang ditentukan oleh Anda untuk folder Cloud Storage, dalam struktur berikut:

CLOUD_STORAGE_FOLDER_LOCATION/projects/PROJECT_ID/locations/LOCATION_ID/lakes/LAKE_ID/tasks/TASK_ID/JOB_ID/QUERY_NUMBER

Membuat dan mengelola jadwal untuk notebook

Konfigurasi runtime untuk notebook terjadwal

Saat dijadwalkan, notebook akan berjalan sebagai tugas Dataplex. Saat jadwal dibuat menggunakan konsol Google Cloud, parameter runtime tugas yang sesuai untuk notebook terjadwal akan diwarisi dari lingkungan notebook tersebut berdasarkan pemetaan berikut:

Parameter konfigurasi lingkungan Parameter konfigurasi tugas notebook terjadwal
Ukuran disk utama Image container / Properti:
   spark.dataproc.driver.disk.size
   spark.dataproc.executor.disk.size
Jumlah node Jumlah Batch / Eksekutor
Jumlah maksimum node Jumlah Batch / Eksekutor maksimum
Versi image Tidak diwariskan
File JAR Image container / JAR Java
Paket Python Tidak diwariskan
Properti tambahan Image container / Properti

Menjadwalkan notebook dengan paket kustom

Untuk notebook interaktif, saat mengonfigurasi lingkungan, Dataplex memungkinkan Anda menentukan paket Python kustom yang akan diinstal dalam sesi pengguna yang disediakan untuk lingkungan. Saat notebook tersebut dijadwalkan, paket Python kustom yang dikonfigurasi di lingkungannya tidak tersedia saat runtime untuk notebook terjadwal, dan lingkungan runtime default hanya memiliki komponen runtime Dataproc Serverless Spark versi 1.0. Agar paket Python kustom tersedia saat runtime untuk notebook terjadwal, berikan image container kustom dengan paket kustom yang diperlukan.

Menentukan image penampung kustom saat menjadwalkan notebook menggunakan Konsol Google Cloud tidak didukung. Sebagai gantinya, gunakan gcloud CLI. Untuk informasi selengkapnya, lihat Menjadwalkan notebook.

Jika menjadwalkan notebook dengan lingkungan yang telah mengonfigurasi paket kustom, Anda akan mendapatkan peringatan berikut:

Selected environment  has additional Python packages configured.
These packages will not be available in the default runtime for the scheduled notebook
when scheduling in the Console. To make the required additional Python packages
available in the runtime, please create Notebook Schedule using gcloud command
instead, referencing a container image with required additional packages.

Mem-build image container kustom untuk notebook terjadwal

Untuk informasi tentang cara membuat image container untuk notebook terjadwal, dan menginstal paket python kustom yang diperlukan dalam dockerfile image container, lihat Mem-build image container kustom untuk Dataproc Serverless untuk Spark.

Pastikan Anda telah menginstal paket conda berikut di image container:

  • gcsfs
  • google-cloud-bigquery
  • google-cloud-storage
  • google-auth
  • ipykernel
  • papermill

Untuk menginstal komponen gcloud dalam image container, buka dockerfile image container dan selesaikan langkah-langkah berikut:

  1. Tambahkan paket google-cloud-sdk ke daftar paket conda yang akan diinstal.

  2. Tambahkan baris berikut setelah langkah penginstalan paket conda:

    # (Optional) Installing gcloud components
    RUN gcloud components install alpha beta bq
    

Menjadwalkan notebook

Konsol

  1. Di konsol Google Cloud, buka halaman Jelajahi Dataplex.

    Buka Jelajahi Dataplex

  2. Pilih notebook yang ingin Anda jadwalkan, baik dengan memilih satu notebook di tampilan Notebook atau dengan membuka notebook di halaman detail notebook.

  3. Di menu Jadwal, klik Buat Jadwal.

  4. Di kolom Schedule name, masukkan nama untuk instance terjadwal.

  5. Di bagian Schedule Options, pilih apakah Anda ingin menjalankan notebook hanya sekali atau secara berulang:

    1. Jika Anda memilih Run Once, tentukan apakah Anda ingin langsung menjalankan notebook atau pada waktu yang dijadwalkan, menggunakan opsi di menu Start. Untuk operasi terjadwal, tentukan tanggal mulai dan waktu operasi.

    2. Jika Anda memilih Ulangi, tentukan apakah Anda ingin menjalankan notebook setiap hari, setiap minggu, setiap bulan, atau sesuai jadwal kustom yang ditentukan menggunakan ekspresi cron. Selain itu, tentukan tanggal mulai dan waktu proses untuk operasi terjadwal awal.

  6. Di bagian Destination for results, pilih lokasi tempat Anda ingin output notebook disimpan:

    1. Di kolom Output folder name, klik Browse, lalu pilih folder di bucket Cloud Storage tempat Anda ingin menyimpan output notebook.

    2. Klik Pilih.

    3. Pilih Format output skrip. Format yang didukung adalah CSV, JSON, ORC, dan Parquet.

  7. Di bagian Scheduled notebook credentials, pilih akun layanan dari menu User service account.

  8. Di bagian Parameters, tambahkan parameter eksekusi untuk notebook sebagai pasangan nilai kunci dengan mengklik Add new.

  9. Klik Jadwalkan.

gcloud

Jalankan perintah gcloud CLI yang dijelaskan di Menjadwalkan tugas Spark (Java atau Python) dengan parameter tambahan berikut:

Parameter Deskripsi
--notebook Jalur ke konten notebook untuk notebook input. Argumen eksekusi dapat diakses sebagai variabel lingkungan. Misalnya, TASK_key=value.
Catatan: Dalam dokumentasi referensi gcloud untuk menjadwalkan notebook sebagai tugas, disebutkan bahwa nilai untuk parameter --notebook dapat berupa URI Cloud Storage dari file notebook. Tindakan ini tidak didukung. Anda hanya boleh menentukan jalur ke Konten Notebook untuk parameter --notebook.
--notebook-archive-uris URI Cloud Storage arsip yang akan diekstrak ke direktori kerja setiap eksekutor. Jenis file yang didukung adalah JAR, tar, tar.gz, tgz, dan zip.
--notebook-file-uris URI Cloud Storage file yang akan ditempatkan di direktori kerja setiap eksekutor.
Resource komputasi yang diperlukan untuk tugas saat menggunakan Dataproc Serverless
--notebook-batch-executors-count Jumlah eksekutor tugas.
--notebook-batch-max-executors-count Maksimum eksekutor yang dapat dikonfigurasi.
Jika notebook-batch-max-executors-count lebih besar dari notebook-batch-executors-count, penskalaan otomatis akan diaktifkan.
Konfigurasi runtime image container
--notebook-container-image Opsional: Image container kustom untuk tugas.
--notebook-container-image-java-jars Daftar JAR Java yang akan ditambahkan ke classpath. Input yang valid mencakup Cloud Storage URI ke biner JAR. Misalnya, gs://BUCKET_NAME/my/path/to/file.jar.
--notebook-container-image-properties Properti yang akan ditetapkan pada file konfigurasi daemon.
Kunci properti ditentukan dalam format prefix:property. Misalnya,:
core:hadoop.tmp.dir.
Untuk informasi selengkapnya, lihat Properti cluster.
Jaringan VPC Cloud yang digunakan untuk menjalankan infrastruktur
--notebook-vpc-network-tags Daftar tag jaringan yang akan diterapkan ke tugas.
ID jaringan VPC Cloud. Anda dapat menentukan maksimal satu dari hal berikut.
--notebook-vpc-network-name Jaringan VPC Cloud tempat tugas dijalankan. Secara default, jaringan VPC Cloud bernama Default dalam project akan digunakan.
--notebook-vpc-sub-network-name Sub-jaringan Cloud VPC tempat tugas berjalan.
Lokasi untuk output notebook
--execution-args Untuk tugas notebook, argumen berikut bersifat wajib dan harus diteruskan sebagai TASK_ARGS.
--execution-args=^::^TASK_ARGS="--output_location,CLOUD_STORAGE_URI_OF_OUTPUT_DIRECTORY"

Berikut adalah contoh perintah gcloud yang digunakan untuk menjadwalkan notebook:

gcloud dataplex tasks create sample-task --project=sample-project --location=us-central1 --lake=my-lake --trigger-type=ON_DEMAND --notebook="projects/my-project-id/locations/us-central1/lakes/my-lake/content/my-notebook.ipynb" --execution-service-account=associated-service-account@sample-project.iam.gserviceaccount.com  --execution-args=^::^TASK_ARGS="--output_location,gs://my-bucket/Demo" --notebook-batch-executors-count=2 --notebook-batch-max-executors-count=5 --notebook-container-image=container-image --notebook-container-image-java-jars=java-jar1,java-jar-2

REST

Gunakan API Explorer untuk membuat tugas.

Mengelola jadwal notebook

Konsol

Membuka daftar semua jadwal notebook

  1. Di konsol Google Cloud, buka halaman Process Dataplex.

  2. Klik tab Notebook terjadwal untuk melihat daftar jadwal skrip SQL.

Membuka daftar semua jadwal untuk notebook tertentu

  1. Di konsol Google Cloud, buka halaman Jelajahi Dataplex.

  2. Pilih notebook yang diperlukan.

  3. Di menu Jadwal, klik Lihat Jadwal.

    Tab Kueri terjadwal akan terbuka dengan daftar jadwal notebook yang difilter oleh notebook yang dipilih.

Melihat detail jadwal notebook

  1. Buka tab Notebook terjadwal, lalu pilih jadwal notebook yang diperlukan.

  2. Klik Details untuk melihat detail jadwal notebook dan pratinjau konten notebook terjadwal.

Mengaktifkan dan menonaktifkan jadwal notebook

  1. Buka tab Notebook terjadwal, lalu pilih jadwal notebook yang diperlukan.

  2. Klik Nonaktifkan untuk menonaktifkan jadwal notebook yang aktif.

  3. Klik Aktifkan untuk mengaktifkan jadwal notebook yang tidak aktif.

Menghapus jadwal notebook yang ada

  1. Buka tab Notebook terjadwal, lalu pilih jadwal notebook yang diperlukan.

  2. Klik Hapus untuk menghapus jadwal notebook yang ada secara permanen.

Melihat log dan mengelola jadwal notebook

  1. Buka tab Notebook terjadwal, lalu pilih jadwal notebook yang diperlukan.

  2. Klik tab Tugas, lalu klik ID Tugas dari operasi notebook terjadwal yang ingin Anda lihat.

  3. Di bagian Pratinjau Output, tinjau output dari notebook yang dijalankan.

  4. Klik Lihat log untuk melihat log yang terkait dengan notebook terjadwal yang dipilih yang dijalankan di Cloud Logging.

  5. Klik Dataproc Batch ID untuk membuka halaman Dataproc di konsol Google Cloud. Akses detail sesi Dataproc Serverless yang sesuai.

  6. Klik Kelola di Cloud Storage di samping label Output untuk membuka halaman Cloud Storage di Konsol Google Cloud. Akses detail bucket Cloud Storage yang sesuai yang berisi output eksekusi notebook.

gcloud

Untuk informasi tentang cara memantau notebook terjadwal menggunakan gcloud CLI, lihat tab gcloud di Memantau tugas Anda.

Untuk informasi tentang cara mengelola notebook terjadwal menggunakan gcloud CLI, lihat tab gcloud di Mengelola jadwal.

REST

Untuk informasi tentang cara memantau notebook terjadwal menggunakan REST, lihat tab REST di Memantau tugas.

Untuk informasi tentang cara mengelola notebook terjadwal menggunakan REST, lihat tab REST di Mengelola jadwal.

Output notebook terjadwal

Output dari setiap operasi notebook terjadwal disimpan di lokasi yang ditentukan oleh Anda untuk folder Cloud Storage, dalam struktur berikut:

CLOUD_STORAGE_FOLDER_LOCATION/projects/PROJECT_ID/locations/LOCATION_ID/lakes/LAKE_ID/tasks/TASK_ID/JOB_ID/QUERY_NUMBER

Langkah selanjutnya