Dokumen ini menunjukkan cara melakukan hal berikut di Dataform:
Sebelum memulai
Pilih atau buat repositori.
Opsional: Hubungkan repositori Anda ke repositori Git pihak ketiga.
Buat dan lakukan inisialisasi ruang kerja pengembangan di repositori Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tugas dalam dokumen ini, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Konfigurasi setelan Dataform dan kelola lokasi paket inti Dataform:
Admin Dataform (
roles/dataform.admin) di repositori. -
Perbarui paket inti Dataform dan gunakan kontrol versi di Dataform:
Editor Dataform (
roles/dataform.editor) di ruang kerja.
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.
Mengonfigurasi setelan alur kerja Dataform
Bagian ini menunjukkan cara mengedit setelan pemrosesan alur kerja Dataform untuk repositori tertentu.
Anda mungkin ingin mengedit file setelan untuk mengganti nama skema atau menambahkan variabel kompilasi kustom ke repositori Anda.
Tentang setelan repositori
Untuk semua repositori, akun layanan kustom diperlukan untuk eksekusi alur kerja dan mode bertindak sebagai yang ketat diterapkan. Anda tidak dapat menggunakan agen layanan Dataform default untuk menjalankan alur kerja.
Setiap repositori Dataform berisi file setelan alur kerja yang unik. File ini berisi ID project Google Cloud dan skema tempat Dataform memublikasikan aset di BigQuery. Dataform menggunakan setelan default yang dapat Anda ganti untuk menyesuaikan kebutuhan dengan mengedit file setelan.
Mulai dari
Dataform core 3.0.0,
setelan alur kerja disimpan dalam file workflow_settings.yaml secara default.
Pada versi Dataform core sebelumnya, setelan alur kerja disimpan
dalam file dataform.json. Kedua file konfigurasi ini harus berada di
direktori root repositori Anda. File workflow_settings.yaml Dataform core 3.0 kompatibel dengan file dataform.json. Anda dapat terus menggunakan file dataform.json untuk menyimpan setelan alur kerja. Sebagai praktik terbaik, Anda harus
memigrasikan setelan alur kerja repositori
ke format workflow_settings.yaml untuk kompatibilitas di masa mendatang.
Tentang workflow_settings.yaml
File workflow_settings.yaml, yang diperkenalkan di
Dataform core 3.0,
menyimpan setelan alur kerja Dataform dalam format YAML.
Contoh kode berikut menunjukkan contoh file workflow_settings.yaml:
defaultProject: my-gcp-project-id
defaultDataset: dataform
defaultLocation: australia-southeast2
defaultAssertionDataset: dataform_assertions
Dalam contoh kode sebelumnya, pasangan nilai kunci dijelaskan sebagai berikut:
defaultProject: ID project BigQuery Google Cloud Anda.defaultDataset: set data BigQuery tempat Dataform membuat aset, yang secara default disebutdataform.defaultLocation(opsional): lokasi set data BigQuery default Anda. Dataform menggunakan lokasi ini untuk memproses kode Anda dan menyimpan hasilnya. Lokasi pemrosesan ini harus cocok dengan lokasi set data BigQuery Anda. Namun, lokasi ini tidak harus cocok dengan lokasi repositori Dataform.Jika Anda tidak menetapkan parameter
defaultLocation, Dataform akan menentukan lokasi berdasarkan set data yang dirujuk oleh kueri SQL Anda. Cara kerjanya sebagai berikut:- Jika kueri Anda mereferensikan set data dari lokasi yang sama, Dataform menggunakan lokasi tersebut.
- Jika kueri Anda mereferensikan set data dari dua atau beberapa lokasi yang berbeda, akan terjadi error. Untuk mengetahui detail tentang batasan ini, lihat Replikasi set data lintas-region.
- Jika kueri Anda tidak mereferensikan set data apa pun, lokasi default untuk
Dataform adalah multi-region
US. Untuk memilih lokasi lain, tetapkan lokasi default. Atau, gunakan variabel sistem@@locationdalam kueri Anda. Untuk mengetahui informasi selengkapnya, lihat Menentukan lokasi.
defaultAssertionDataset: set data BigQuery tempat Dataform membuat tampilan dengan hasil pernyataan, yang secara default disebutdataform_assertions.
Untuk mengetahui informasi selengkapnya tentang properti workflow_settings.yaml, lihat
WorkflowSettings
di GitHub.
Anda dapat mengakses properti yang ditentukan dalam workflow_settings.yaml di kode
Dataform sebagai properti objek
dataform.projectConfig.
Pemetaan berikut dari opsi workflow_settings.yaml ke opsi dataform.projectConfig yang dapat diakses kode berlaku:
defaultProject=>defaultDatabasedefaultDataset=>defaultSchemadefaultAssertionDataset=>assertionSchemaprojectSuffix=>databaseSuffixdatasetSuffix=>schemaSuffixnamePrefix=>tablePrefix
Contoh kode berikut menunjukkan objek dataform.projectConfig
yang dirujuk dalam pernyataan SELECT dalam tampilan:
config { type: "view" }
SELECT ${when(
!dataform.projectConfig.tablePrefix,
"table prefix is set!",
"table prefix is not set!"
)}
Tentang dataform.json
File dataform.json menyimpan setelan alur kerja Dataform dalam
format JSON.
Contoh kode berikut menunjukkan contoh file dataform.json:
{
"warehouse": "bigquery",
"defaultDatabase": "my-gcp-project-id",
"defaultSchema": "dataform",
"defaultLocation": "australia-southeast2",
"assertionSchema": "dataform_assertions"
}
Dalam contoh kode sebelumnya, pasangan nilai kunci dijelaskan sebagai berikut:
warehouse: penunjuk ke BigQuery, tempat Dataform membuat aset.defaultDatabase: ID project BigQuery Google Cloud Anda.defaultSchema: set data BigQuery tempat Dataform membuat aset.defaultLocation(opsional): lokasi set data BigQuery default Anda. Dataform menggunakan lokasi ini untuk memproses kode Anda dan menyimpan hasilnya. Lokasi pemrosesan ini harus cocok dengan lokasi set data BigQuery Anda. Namun, lokasi ini tidak harus cocok dengan lokasi repositori Dataform.Jika Anda tidak menetapkan parameter
defaultLocation, Dataform akan menentukan lokasi berdasarkan set data yang dirujuk oleh kueri SQL Anda. Cara kerjanya sebagai berikut:- Jika kueri Anda mereferensikan set data dari lokasi yang sama, Dataform menggunakan lokasi tersebut.
- Jika kueri Anda mereferensikan set data dari dua atau beberapa lokasi yang berbeda, akan terjadi error. Untuk mengetahui detail tentang batasan ini, lihat Replikasi set data lintas-region.
- Jika kueri Anda tidak mereferensikan set data apa pun, lokasi default untuk
Dataform adalah multi-region
US. Untuk memilih lokasi lain, tetapkan lokasi default. Atau, gunakan variabel sistem@@locationdalam kueri Anda. Untuk mengetahui informasi selengkapnya, lihat Menentukan lokasi.
assertionSchema: set data BigQuery tempat Dataform membuat tampilan dengan hasil pernyataan, yang secara default disebutdataform_assertions.
Anda dapat mengakses properti yang ditentukan dalam file dataform.json di kode
project sebagai properti objek
dataform.projectConfig.
Mengonfigurasi nama skema
Untuk mengonfigurasi nama skema, Anda perlu mengedit properti defaultDataset dan defaultAssertionSchema di file workflow_settings.yaml, atau properti defaultSchema dan assertionSchema di file dataform.json.
Untuk mengonfigurasi nama skema, ikuti langkah-langkah berikut:
workflow_settings.yaml
Di ruang kerja pengembangan Anda, di panel Files, klik file
workflow_settings.yaml.Edit nilai
defaultDataset,defaultAssertionSchema, atau keduanya.
Contoh kode berikut menunjukkan nama defaultDataset kustom yang ditentukan dalam
file workflow_settings.yaml:
...
defaultDataset: mytables
...
dataform.json
Di ruang kerja pengembangan Anda, di panel Files, klik file
dataform.json.Edit nilai
defaultSchema,assertionSchema, atau keduanya.
Contoh kode berikut menunjukkan nama defaultSchema kustom yang ditentukan dalam
file dataform.json:
{
...
"defaultSchema": "mytables",
...
}
Membuat variabel kompilasi kustom
Variabel kompilasi berisi nilai yang dapat Anda ubah dengan penggantian kompilasi dalam konfigurasi rilis atau dalam permintaan Dataform API.
Setelah menentukan variabel kompilasi di workflow_settings.yaml dan menambahkannya ke tabel yang dipilih, Anda dapat mengubah nilainya dalam konfigurasi rilis atau penggantian kompilasi Dataform API untuk menjalankan tabel secara bersyarat.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan tabel secara bersyarat menggunakan variabel kompilasi, lihat Pengantar siklus proses kode di Dataform.
Untuk membuat variabel kompilasi yang dapat Anda gunakan di seluruh repositori, ikuti langkah-langkah berikut:
workflow_settings.yaml
- Buka ruang kerja pengembangan Dataform Anda.
- Di panel Files, pilih file
workflow_settings.yaml. Masukkan cuplikan kode berikut:
"vars": { "VARIABLE":"VALUE" }Ganti kode berikut:
VARIABLE: nama untuk variabelVALUE: nilai default variabel kompilasi
Contoh kode berikut menunjukkan variabel kompilasi