Mendeklarasikan dependensi

Dokumen ini menunjukkan cara menentukan hubungan antar-objek dalam alur kerja SQL Anda di Dataform dengan mendeklarasikan dependensi.

Anda dapat menentukan hubungan dependensi antar-objek di alur kerja SQL. Dalam hubungan dependensi, eksekusi objek dependen bergantung pada eksekusi objek dependensi. Ini berarti Dataform mengeksekusi dependensi setelah dependensi. Anda menentukan hubungan dengan mendeklarasikan dependensi di dalam file definisi SQLX objek dependen.

Deklarasi dependensi menyusun hierarki dependensi alur kerja SQL yang menentukan urutan Dataform menjalankan objek alur kerja SQL Anda.

Anda dapat menentukan hubungan dependensi antara objek alur kerja SQL berikut:

Deklarasi sumber data
Deklarasi sumber data BigQuery yang memungkinkan Anda mereferensikan sumber data ini dalam definisi tabel Dataform dan operasi SQL. Anda dapat menetapkan deklarasi sumber data sebagai dependensi, tetapi bukan sebagai dependen.
Tables
Tabel yang Anda buat dalam Dataform berdasarkan sumber data yang dideklarasikan atau tabel lain dalam alur kerja SQL Anda. Dataform mendukung jenis tabel berikut: tabel, tabel inkremental, tampilan, dan tampilan terwujud. Anda dapat menetapkan tabel sebagai dependensi dan sebagai dependen.
Operasi SQL kustom
Pernyataan SQL yang Dataform berjalan di BigQuery sebagaimana adanya, tanpa modifikasi. Anda dapat menetapkan operasi SQL kustom yang ditentukan dalam file type: operations sebagai dependensi dan dependen. Untuk mendeklarasikan operasi SQL kustom sebagai dependensi dalam fungsi ref, Anda harus menetapkan properti hasOutput ke true dalam file definisi SQLX operasi SQL kustom.
Pernyataan
Kueri uji kualitas data yang dapat Anda gunakan untuk menguji data tabel. Dataform menjalankan pernyataan setiap kali memperbarui alur kerja SQL Anda dan memberi tahu Anda jika ada pernyataan yang gagal. Anda dapat menetapkan pernyataan yang ditentukan dalam file type: assertion sebagai dependensi dan sebagai dependen dengan mendeklarasikan dependensi dalam blok config.

Anda dapat menentukan hubungan dependensi dengan cara berikut:

Sebelum memulai

  1. Buat dan inisialisasi ruang kerja pengembangan di repositori Anda.
  2. Opsional: Deklarasikan sumber data.
  3. Buat minimal dua objek alur kerja SQL: tabel, pernyataan, deklarasi sumber data, atau operations.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mendeklarasikan dependensi untuk tabel, pernyataan, deklarasi sumber data, dan operasi SQL kustom, minta administrator untuk memberi Anda peran IAM Dataform Editor (roles/dataform.editor) di ruang kerja. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mendeklarasikan dependensi sebagai argumen fungsi ref

Untuk mereferensikan dan mendeklarasikan dependensi secara otomatis dalam pernyataan SELECT, tambahkan dependensi sebagai argumen fungsi ref.

Fungsi ref adalah fungsi bawaan inti Dataform yang memungkinkan Anda mereferensikan dan otomatis bergantung pada tabel, deklarasi sumber data, atau operasi SQL kustom dengan properti hasOutput yang ditetapkan ke true dalam alur kerja SQL Anda.

Untuk mengetahui informasi selengkapnya tentang fungsi ref, lihat Referensi metode konteks inti Dataform.

Untuk mengetahui informasi selengkapnya tentang penggunaan fungsi ref dalam definisi tabel, lihat Tentang definisi tabel.

Contoh kode berikut menunjukkan deklarasi sumber data source_data yang ditambahkan sebagai argumen fungsi ref dalam file definisi SQLX incremental_table.sqlx dari tabel inkremental:

// filename is incremental_table.sqlx

config { type: "incremental" }

SELECT * FROM ${ref("source_data")}

Dalam contoh kode sebelumnya, source_data secara otomatis dideklarasikan sebagai dependensi incremental_table.

Contoh kode berikut menunjukkan file SQLX definisi tabel some_table yang ditambahkan sebagai argumen fungsi ref dalam file definisi SQLite custom_assertion.sqlx pernyataan:

// filename is custom_assertion.sqlx

config { type: "assertion" }

SELECT
  *
FROM
  ${ref("some_table")}
WHERE
  a is null
  or b is null
  or c is null

Dalam contoh kode sebelumnya, some_table secara otomatis dideklarasikan sebagai dependensi custom_assertion. Selama eksekusi, Dataform akan mengeksekusi some_table terlebih dahulu, lalu mengeksekusi custom_assertion setelah some_table dibuat.

Mendeklarasikan dependensi dalam blok config

Untuk mendeklarasikan dependensi yang tidak direferensikan dalam definisi pernyataan SQL dependensi, tetapi perlu dijalankan sebelum tabel, pernyataan, atau operasi SQL kustom, ikuti langkah-langkah berikut:

  1. Di ruang kerja pengembangan Anda, di panel Files, luaskan direktori definitions/.
  2. Pilih tabel, pernyataan, atau file SQLX operasi SQL kustom yang ingin Anda edit.
  3. Di blok config file, masukkan cuplikan kode berikut:

    dependencies: [ "DEPENDENCY", ]
    

    Ganti DEPENDENCY dengan nama file tabel, pernyataan, deklarasi sumber data, atau operasi SQL kustom yang ingin Anda tambahkan sebagai dependensi. Anda dapat memasukkan beberapa nama file yang dipisahkan dengan koma.

  4. Opsional: Klik Format.

Contoh kode berikut menunjukkan tabel some_table dan pernyataan some_assertion yang ditambahkan sebagai dependensi ke blok config file definisi tabel:

config { dependencies: [ "some_table", "some_assertion" ] }

Langkah selanjutnya