Mendeklarasikan dependensi

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

Anda dapat menentukan hubungan dependensi antara objek alur kerja SQL. Dalam hubungan dependensi, eksekusi objek dependen bergantung pada eksekusi objek dependensi. Artinya, Dataform menjalankan dependen setelah dependensi. Anda menentukan hubungan dengan mendeklarasikan dependensi di dalam file definisi SQLX objek dependen.

Deklarasi dependensi membentuk hierarki dependensi alur kerja SQL Anda yang menentukan urutan eksekusi Dataform terhadap 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 tidak sebagai dependen.
Tables
Tabel yang Anda buat di Dataform berdasarkan sumber data yang dideklarasikan atau tabel lain dalam alur kerja SQL. 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 dijalankan Dataform di BigQuery apa adanya, tanpa modifikasi. Anda dapat menetapkan operasi SQL kustom yang ditentukan dalam file type: operations sebagai dependensi dan sebagai 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 pengujian 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 di blok config.

Anda dapat menentukan hubungan dependensi dengan cara berikut:

Sebelum memulai

  1. Buat dan lakukan 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 operasi.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna 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 ke project, folder, dan organisasi.

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 secara 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 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 SQLX custom_assertion.sqlx dari 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 di blok config

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

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

    dependencies: [ "DEPENDENCY", ]
    

    Ganti DEPENDENCY dengan target string—misalnya, nama file tindakan yang ingin Anda tambahkan sebagai dependensi. Anda dapat memasukkan beberapa target, 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