Menjadwalkan skrip dan notebook SQL

Menjadwalkan skrip dan notebook SQL memungkinkan Anda mengoperasionalkan aset yang dibuat di Workbench eksplorasi data (Jelajah).

Menjadwalkan skrip SQL atau {i>notebook<i} membuat tugas Dataplex yang berjalan pada waktu yang telah ditentukan, sekali atau secara berulang. Setiap kali dijalankan, tugas akan dibuat yang merekam metadata eksekusi, seperti waktu mulai dan waktu berakhir eksekusi, status eksekusi, log, dan output yang dihasilkan.

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

Biaya

Skrip SQL terjadwal dan notebook terjadwal memicu eksekusi tugas menggunakan Dataproc Serverless. Penggunaan akan 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:

  • Bagian Sebelum memulai di Menggunakan workbench eksplorasi data
  • Bagian Sebelum memulai pada Menjadwalkan tugas Spark dan SparkSQL kustom

Jika skrip SQL atau jadwal notebook menggunakan BigQuery API, Anda harus memberikan peran Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) ke 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 merujuk ke image container dengan paket tambahan yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Menjadwalkan notebook dengan paket kustom.

  • Penggunaan konsol Google Cloud untuk mereferensikan image container kustom saat penjadwalan 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 tertentu dari skrip SQL atau notebook yang akan digunakan dalam jadwal. Saat jadwal dipicu, versi skrip SQL atau notebook saat ini akan digunakan.

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

Selain itu, tinjau batasan umum Explore.

Membuat dan mengelola jadwal untuk skrip SQL

Konfigurasi runtime untuk skrip SQL terjadwal

Saat dijadwalkan, skrip SQL akan dijalankan sebagai tugas Dataplex. Jika jadwal dibuat menggunakan Konsol Google Cloud, parameter runtime tugas yang sesuai untuk skrip SQL terjadwal diwariskan 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 node maksimum Jumlah eksekutor Batch / Maksimal
Versi image Tidak diwariskan
File JAR Image container / JARS Java
Paket Python Tidak diwariskan
Properti tambahan Image container / Properti

Menjadwalkan skrip SQL

Konsol

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

    Buka Jelajahi Dataplex

  2. Pilih skrip SQL yang ingin dijadwalkan, 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 satu kali atau secara berulang:

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

    2. Jika Anda memilih Repeat, tentukan apakah Anda ingin menjalankan skrip SQL secara harian, mingguan, bulanan, atau jadwal kustom yang ditentukan menggunakan ekspresi cron. Selain itu, tentukan tanggal mulai dan waktu proses untuk operasi terjadwal awal.

  6. Di bagian Tujuan untuk hasil, lakukan hal berikut:

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

    2. Klik Select.

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

  7. Di bagian Dijadwalkan skrip kredensial, pilih akun layanan dari menu Akun layanan pengguna.

  8. Klik Jadwalkan.

gcloud

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

REST

Gunakan API Explorer untuk membuat tugas.

Mengelola jadwal skrip SQL

Konsol

Buka daftar semua jadwal skrip SQL

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

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

Buka daftar semua jadwal untuk skrip SQL tertentu

  1. Di konsol Google Cloud, buka halaman Explore 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 dan 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 dan pilih jadwal skrip SQL yang diperlukan.

  2. Klik Disable 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 dan 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 dan pilih jadwal skrip SQL yang diperlukan.

  2. Klik tab Jobs, lalu klik Job ID dari eksekusi skrip SQL terjadwal yang ingin Anda lihat.

  3. Klik Lihat log untuk melihat log yang terkait dengan skrip SQL terjadwal yang dipilih yang 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 Manage in 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 mengetahui informasi tentang cara memantau skrip SQL terjadwal menggunakan gcloud CLI, lihat tab gcloud di bagian Memantau tugas.

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

REST

Untuk mengetahui 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 Anda tentukan 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 dijalankan sebagai tugas Dataplex. Saat jadwal dibuat menggunakan Konsol Google Cloud, parameter runtime tugas yang sesuai untuk notebook terjadwal akan diwariskan 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 node maksimum Jumlah eksekutor Batch / Maksimal
Versi image Tidak diwariskan
File JAR Image container / JARS 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 di sesi pengguna yang disediakan untuk lingkungan. Jika notebook tersebut dijadwalkan, paket Python kustom yang dikonfigurasi di lingkungannya tidak akan tersedia saat runtime untuk notebook terjadwal tersebut, dan lingkungan runtime default hanya memiliki komponen runtime Dataproc Serverless Spark versi 1.0. Agar paket Python kustom tersedia saat runtime untuk notebook terjadwal, sediakan image container kustom dengan paket kustom yang diperlukan.

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

Jika Anda menjadwalkan notebook dengan lingkungan yang memiliki paket kustom yang telah dikonfigurasi, 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.

Membuat image container kustom untuk notebook terjadwal

Untuk mengetahui informasi tentang cara menetapkan image container untuk notebook terjadwal, dan menginstal paket python kustom yang diperlukan dalam dockerfile image container, lihat Membuat 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 di 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 kondensasi:

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

Menjadwalkan notebook

Konsol

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

    Buka Jelajahi Dataplex

  2. Pilih notebook yang ingin Anda jadwalkan, baik dengan memilih satu notebook di tampilan Notebooks maupun 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 memilih Run After, tentukan apakah Anda ingin segera menjalankan notebook atau pada waktu yang dijadwalkan menggunakan opsi di menu Start. Untuk operasi terjadwal, tentukan tanggal mulai dan waktu proses.

    2. Jika Anda memilih Repeat, tentukan apakah Anda ingin menjalankan notebook secara harian, mingguan, bulanan, 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 menyimpan output notebook:

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

    2. Klik Select.

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

  7. Di bagian Kredensial notebook terjadwal, pilih akun layanan dari menu Akun layanan pengguna.

  8. Di bagian Parameters, tambahkan parameter eksekusi untuk notebook sebagai key-value pair dengan mengklik Add new.

  9. Klik Jadwalkan.

gcloud

Jalankan perintah gcloud CLI yang dijelaskan dalam 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 file notebook. Opsi 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 file Google Cloud Storage 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 Eksekutor maksimum 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 URI Cloud Storage 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 mengetahui 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 paling banyak salah satu hal berikut.
--notebook-vpc-network-name Jaringan VPC Cloud tempat tugas dijalankan. Secara default, jaringan VPC Cloud bernama Default dalam project digunakan.
--notebook-vpc-sub-network-name Sub-jaringan VPC Cloud tempat tugas dijalankan.
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.

Kelola jadwal notebook

Konsol

Buka daftar semua jadwal notebook

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

  2. Klik tab Schedule notebooks untuk melihat daftar jadwal skrip SQL.

Buka daftar semua jadwal untuk notebook tertentu

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

  2. Pilih notebook yang diperlukan.

  3. Di menu Jadwal, klik Lihat Jadwal.

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

Melihat detail jadwal notebook

  1. Buka tab Notebook terjadwal dan pilih jadwal notebook yang diperlukan.

  2. Klik detail Detail jadwal notebook dan pratinjau konten notebook terjadwal.

Mengaktifkan dan menonaktifkan jadwal notebook

  1. Buka tab Notebook terjadwal dan pilih jadwal notebook yang diperlukan.

  2. Klik Disable untuk menonaktifkan jadwal notebook yang aktif.

  3. Klik Aktifkan untuk mengaktifkan jadwal notebook tidak aktif.

Menghapus jadwal notebook yang ada

  1. Buka tab Notebook terjadwal dan 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 dan pilih jadwal notebook yang diperlukan.

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

  3. Di bagian Output Pratinjau, 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 Manage in 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 mengetahui informasi tentang cara memantau notebook terjadwal menggunakan gcloud CLI, lihat tab gcloud di bagian Memantau tugas.

Untuk mengetahui 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 bagian Memantau tugas.

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

Output notebook terjadwal

Output dari setiap pengoperasian notebook terjadwal disimpan di lokasi yang Anda tentukan 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