Dokumen ini menunjukkan cara melakukan hal berikut:
- Tentukan pernyataan SQL yang akan dijalankan sebelum pembuatan tabel.
- Tentukan pernyataan SQL yang akan dijalankan setelah pembuatan tabel.
- Nonaktifkan pembuatan tabel.
- Tambahkan tag eksekusi.
Sebelum memulai
Di konsol Google Cloud , buka halaman Dataform.
Pilih atau buat repositori.
Pilih atau buat ruang kerja pengembangan.
Tentukan file SQLX dari salah satu jenis berikut:
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tugas dalam dokumen ini, minta administrator Anda untuk memberi Anda peran IAM berikut:
- Dataform Editor (
roles/dataform.editor) di ruang kerja -
Untuk menyinkronkan metadata ke Knowledge Catalog:
Dataplex Catalog Editor (
roles/dataplex.catalogEditor) di project atau grup entri@bigquery
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menentukan pernyataan SQL yang akan dijalankan sebelum pembuatan tabel
Anda dapat mengonfigurasi Dataform untuk menjalankan satu atau beberapa pernyataan SQL
sebelum membuat tabel yang dipilih di BigQuery. Untuk menjalankan pernyataan SQL sebelum Dataform membuat tabel yang dipilih, tambahkan pernyataan Anda ke blok pre_operations dalam file SQLX definisi tabel.
Untuk membuat pernyataan SQL kustom yang dijalankan sebelum Dataform membuat tabel tertentu, ikuti langkah-langkah berikut:
- Buka ruang kerja pengembangan Anda.
- Di panel Files, luaskan
definitions/. - Buka file definisi tabel SQLX.
- Di luar blok
config, masukkanpre_operations { ... }. - Di dalam
pre_operations { ... }, tambahkan pernyataan SQL Anda. - Opsional: Untuk menambahkan beberapa pernyataan, pisahkan dengan
---. - Opsional: Klik Format.
Contoh kode berikut menunjukkan pernyataan pre_operations yang membuat fungsi sementara yang dapat digunakan dalam pernyataan select:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
Menentukan pernyataan SQL yang akan dijalankan setelah pembuatan tabel
Anda dapat mengonfigurasi Dataform untuk menjalankan satu atau beberapa pernyataan SQL
setelah membuat tabel yang dipilih di BigQuery. Untuk menjalankan pernyataan SQL
setelah Dataform membuat tabel yang dipilih, tambahkan pernyataan Anda ke
blok post_operations dalam file SQLX definisi tabel. Anda dapat menambahkan
beberapa pernyataan SQL ke blok post_operations.
Untuk membuat pernyataan SQL kustom yang dijalankan setelah Dataform membuat tabel tertentu, ikuti langkah-langkah berikut:
- Buka ruang kerja pengembangan Anda.
- Di panel Files, luaskan
definitions/. - Buka file definisi tabel SQLX.
- Di luar blok
config, masukkanpost_operations { ... }. - Di dalam
post_operations { ... }, tambahkan pernyataan SQL Anda. - Opsional: Klik Format.
Contoh kode berikut menunjukkan pernyataan post_operations yang memberikan akses grup ke tabel yang dibuat:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Pengayaan metadata otomatis
Dataform mendukung pengayaan metadata otomatis untuk tabel dan tampilan BigQuery yang dibuat dengan alur kerja SQLX. Saat tindakan tabel berhasil diselesaikan, Dataform akan mencoba menulis metadata yang ditentukan ke entri Knowledge Catalog yang sesuai. Proses ini dipisahkan dari eksekusi SQL dengan cara berikut:
- Latensi: sinkronisasi bersifat asinkron, artinya, tugas BigQuery Anda tidak menunggu hingga pembaruan Knowledge Catalog selesai.
- Keandalan: jika sinkronisasi gagal (misalnya, karena batas kecepatan API), Dataform akan otomatis mencoba ulang update. Update metadata yang gagal tidak menyebabkan tindakan atau alur kerja Dataform Anda gagal.
Contoh kode berikut menunjukkan cara menentukan metadata untuk Knowledge Catalog dalam blok config file SQLX:
config {
type: "table",
metadata: {
overview: "This table provides standardized trip data.",
extraProperties: {
generic: {
system: "BigQuery",
type: "table"
}
}
}
}
Untuk memeriksa status update metadata, ikuti petunjuk di Memeriksa log eksekusi ruang kerja.
Untuk melihat metadata yang diperkaya, Anda dapat menelusuri tabel dan tampilan BigQuery di Knowledge Catalog. Untuk mengetahui informasi selengkapnya, lihat Menelusuri resource.
Menonaktifkan pembuatan tabel
Untuk menghentikan Dataform membuat tabel yang dipilih di BigQuery, Anda dapat menonaktifkan tabel dalam file definisi tabel SQLX-nya. Dataform menyimpan tabel yang dinonaktifkan dalam grafik dependensi, tetapi tidak mengompilasi dan membuatnya. Hal ini dapat berguna, misalnya, jika tabel gagal dan Anda tidak ingin seluruh alur kerja gagal saat Anda memperbaiki masalah.
Untuk menonaktifkan tabel, ikuti langkah-langkah berikut:
- Buka ruang kerja pengembangan Anda.
- Di panel Files, luaskan
definitions/. - Pilih file definisi tabel SQLX.
- Di blok
configfile, masukkandisabled: true. - Opsional: Klik Format.
Contoh kode berikut menunjukkan tabel yang dinonaktifkan:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Menambahkan tag eksekusi
Bagian ini menunjukkan cara menambahkan tag ke file SQLX Dataform core untuk mengategorikan alur kerja Anda.
Untuk mengatur komponen alur kerja ke dalam koleksi, Anda dapat menambahkan tag kustom ke file SQLX dari jenis berikut:
tableviewincrementalassertionoperations
Selama menjalankan alur kerja, Anda dapat menjalankan hanya file dengan tag yang dipilih.
Dengan Managed Service untuk Apache Airflow atau Workflows bersama dengan Cloud Scheduler, Anda dapat membuat jadwal yang menjalankan alur kerja Dataform dengan tag yang dipilih pada interval tertentu.
Tambahkan tag
Anda dapat menambahkan beberapa tag ke file SQLX.
Untuk menambahkan tag ke file SQLX, ikuti langkah-langkah berikut:
- Buka ruang kerja pengembangan Anda.
- Di panel Files, luaskan
definitions/. - Pilih file SQLX.
Di blok
config, tambahkan tag dalam format berikut:tags: ["CUSTOM_TAG"]Ganti
CUSTOM_TAGdengan tag Anda.Opsional: Untuk menambahkan beberapa tag, pisahkan dengan koma (
,).Opsional: Klik Format.
Contoh kode berikut menunjukkan tampilan user_counts dengan tag daily dan
hourly:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
Langkah berikutnya
- Untuk mempelajari cara mengonfigurasi setelan Dataform di
workflow_settings.yaml, lihat Mengonfigurasi setelan alur kerja Dataform. - Untuk mempelajari cara menguji data tabel dengan pernyataan, lihat Menguji kualitas data.
- Untuk mempelajari cara menggunakan kembali kode dengan include, lihat Menggunakan kembali kode di satu repositori dengan include.
- Untuk mempelajari cara memicu eksekusi secara manual, lihat Memicu run secara manual.
- Untuk mempelajari cara menambahkan tag kebijakan BigQuery di Dataform, lihat Mengontrol akses kolom.