Halaman ini menjelaskan cara mengekspor informasi untuk tugas Anda yang disimpan di Batch ke tabel BigQuery menggunakan Workflows. Secara khusus, pelajari cara menjalankan contoh alur kerja export-jobs dan cara melihat informasi tugas yang dihasilkan di BigQuery.
Mengekspor informasi tugas berguna jika Anda ingin mempertahankan informasi setelah tugas dihapus secara otomatis atau manual atau menganalisis informasi di luar Batch. Atau, jika Anda hanya ingin mengekspor informasi perubahan status tugas dan pekerjaan ke BigQuery, lihat Memantau tugas menggunakan notifikasi sebagai gantinya.
Untuk mempelajari cara mengekspor informasi tugas yang disimpan di layanan Google Cloud lain, lihat dokumentasi ekspor untuk layanan tersebut. Misalnya, lihat halaman berikut:
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Enable the BigQuery and Workflows APIs.
Opsional: Identifikasi set data atau tabel BigQuery yang ada di project Anda tempat Anda ingin menyimpan informasi tugas. Tabel yang ada harus memiliki skema yang cocok.
Atau, Anda dapat menggunakan alur kerja export-jobs untuk membuat set data atau tabel baru.
-
Siapkan akun layanan untuk alur kerja export-jobs dengan melakukan hal berikut:
- Buat akun layanan baru atau identifikasi akun layanan yang ada.
-
Untuk memastikan bahwa akun layanan memiliki izin yang diperlukan untuk menjalankan alur kerja export-jobs, minta administrator untuk memberi akun layanan peran IAM berikut pada project:
-
Menulis log:
Logs Writer (
roles/logging.logWriter
) -
Membuat dan mengedit set data dan tabel BigQuery:
Admin BigQuery (
roles/bigquery.admin
) -
Melihat dan menghapus tugas Batch:
Batch Job Editor (
roles/batch.jobsEditor
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan melalui peran khusus atau peran bawaan lainnya.
-
Menulis log:
Logs Writer (
-
Untuk mendapatkan izin yang diperlukan untuk membuat, men-deploy, dan menjalankan alur kerja export-jobs, minta administrator Anda untuk memberi Anda peran IAM berikut pada project:
-
Melihat tugas:
Batch Job Viewer (
roles/batch.jobsViewer
) -
Melihat akun layanan:
Lihat Akun Layanan (
roles/iam.serviceAccountViewer
) -
Melihat set data dan tabel BigQuery:
BigQuery Data Viewer (
roles/bigquery.dataViewer
) -
Membuat, men-deploy, dan menjalankan alur kerja:
Workflows Editor (
roles/workflows.editor
)
-
Melihat tugas:
Batch Job Viewer (
-
Pastikan pengguna di project Anda dapat melihat informasi tugas yang diekspor.
Untuk memastikan pengguna memiliki izin yang diperlukan untuk mengekspor informasi tugas, minta administrator Anda untuk memberi pengguna peran IAM BigQuery Data Viewer (
roles/bigquery.dataViewer
) di tabel, set data, atau project.
Mengekspor informasi tugas
Bagian ini menjelaskan cara mengekspor informasi tugas menggunakan
alur kerja export-jobs, yang berasal dari
contoh kode export-to-bigquery
.
Alur kerja export-jobs mengekspor informasi untuk tugas project Anda yang berada di wilayah yang ditentukan dan memenuhi kriteria filter yang ditentukan.
Alur kerja export-jobs mengekspor informasi tugas ke tabel tertentu dalam set data tertentu, yang otomatis dibuat oleh alur kerja jika belum ada di project Anda. Secara default, alur kerja export-jobs juga menghapus tugas yang diekspor dari Batch, tetapi Anda dapat secara opsional mengedit alur kerja export-jobs agar tidak menghapus tugas.
Untuk setiap alur kerja export-jobs yang ingin Anda gunakan, lakukan hal berikut:
- Konfigurasi definisi alur kerja.
- Buat dan deploy alur kerja.
- Jalankan alur kerja. Ulangi langkah ini setiap kali Anda ingin mengekspor tugas yang ditentukan.
Mengonfigurasi definisi alur kerja
Download file
export-to-bigquery-delete-batch-jobs.yaml
dari GitHub.Buka file
export-to-bigquery-delete-batch-jobs.yaml
di editor teks. Kemudian, lakukan pengeditan berikut:Ganti
sys.get_env("GOOGLE_CLOUD_PROJECT_ID")
dengan project ID Anda yang diformat sebagai string—misalnya,"my-project-id"
.Ganti
sys.get_env("GOOGLE_CLOUD_LOCATION")
dengan region yang berisi tugas yang ingin Anda ekspor, diformat sebagai string—misalnya,"us-central1"
.Opsional: Edit kriteria filter yang menentukan tugas mana yang akan diekspor.
Secara default, alur kerja export-jobs menentukan kriteria filter
"(status.state:SUCCEEDED OR status.state:FAILED OR status.state:CANCELLED) AND create_time<=\"2023-05-01T00:00:00Z\""
. Kriteria filter default ini hanya mengekspor informasi untuk tugas yang berada dalam statusSUCCEEDED
,FAILED
, atauCANCELLED
dan dibuat sebelum atau pada stempel waktu RFC 33392023-05-01T00:00:00Z
.Opsional: Ganti
default_dataset_id
dengan nama lain untuk kumpulan data yang ingin digunakan atau dibuat oleh alur kerja export-jobs.Opsional: Ganti
default_table_id
dengan nama tabel lain yang ingin digunakan atau dibuat oleh alur kerja export-jobs.Jika Anda tidak ingin tugas yang diekspor dihapus oleh alur kerja, maka lakukan hal berikut:
Hapus baris berikut:
- log_delete_step: call: sys.log args: text: ${"Deleting Batch job " + j.name} severity: NOTICE - delete_job: call: googleapis.batch.v1.projects.locations.jobs.delete args: name: ${j.name}
Hapus
+ " and deleted"
.
Simpan file. Biarkan file tetap terbuka.
Membuat dan men-deploy alur kerja
Di konsol Google Cloud , buka halaman Workflows:
Di halaman Alur Kerja, klik
Buat.Di kolom Nama alur kerja, masukkan nama alur kerja—misalnya,
export-batch-jobs-us-central1
.Dalam daftar Service account, pilih akun layanan yang Anda siapkan.
Klik Berikutnya.
Di editor alur kerja, ganti alur kerja contoh dengan konten file
export-to-bigquery-delete-batch-jobs.yaml
. Kemudian, Anda dapat menutup file.Klik Deploy. Halaman Workflow details akan terbuka.
Menjalankan alur kerja
Di halaman Workflow details, klik
Execute. Halaman Jalankan alur kerja akan terbuka.Di halaman Execute workflow yang terbuka, klik Execute.
Di halaman Execution details yang terbuka, tunggu hingga alur kerja selesai dieksekusi. Misalnya, waktu eksekusi untuk mengekspor dan menghapus beberapa tugas biasanya beberapa detik, tetapi eksekusi mungkin memerlukan waktu lebih lama jika Anda mengekspor dan menghapus banyak tugas.
Setelah alur kerja selesai dieksekusi, panel Output akan menampilkan hasilnya.
Melihat informasi tugas yang diekspor
Bagian ini memperkenalkan cara melihat data tabel yang dibuat oleh alur kerja export-jobs. Misalnya, Anda dapat menggunakan langkah-langkah berikut untuk memverifikasi bahwa alur kerja berhasil dieksekusi dan menelusuri data tabel. Untuk mengetahui informasi selengkapnya tentang cara melihat dan menggunakan informasi tugas yang diekspor, seperti menulis kueri, lihat Mengelola data tabel di dokumentasi BigQuery.
Di Google Cloud konsol, buka halaman BigQuery:
Di panel Explorer, buka tabel untuk informasi tugas yang diekspor:
- Di kolom Search BigQuery resources, masukkan nama tabel dari alur kerja tugas ekspor Anda. Misalnya, nama tabel default adalah
default_table_id
. - Klik nama tabel. Halaman detail tabel akan terbuka.
Di halaman detail tabel, klik tab Detail.
Di tab Detail, catat stempel waktu Terakhir diubah dan Jumlah baris.
Di halaman detail tabel, klik tab Pratinjau.
- Di kolom Search BigQuery resources, masukkan nama tabel dari alur kerja tugas ekspor Anda. Misalnya, nama tabel default adalah