Mengelola repositori

Dokumen ini menunjukkan cara melakukan hal berikut di Dataform:

Sebelum memulai

  1. Pilih atau buat repositori.

  2. Opsional: Hubungkan repositori Anda ke repositori Git pihak ketiga.

  3. 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 disebut dataform.
  • 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 @@location dalam kueri Anda. Untuk mengetahui informasi selengkapnya, lihat Menentukan lokasi.
  • defaultAssertionDataset: set data BigQuery tempat Dataform membuat tampilan dengan hasil pernyataan, yang secara default disebut dataform_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 => defaultDatabase
  • defaultDataset => defaultSchema
  • defaultAssertionDataset => assertionSchema
  • projectSuffix => databaseSuffix
  • datasetSuffix => schemaSuffix
  • namePrefix => 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 @@location dalam kueri Anda. Untuk mengetahui informasi selengkapnya, lihat Menentukan lokasi.
  • assertionSchema: set data BigQuery tempat Dataform membuat tampilan dengan hasil pernyataan, yang secara default disebut dataform_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

  1. Di ruang kerja pengembangan Anda, di panel Files, klik file workflow_settings.yaml.

  2. Edit nilai defaultDataset, defaultAssertionSchema, atau keduanya.

Contoh kode berikut menunjukkan nama defaultDataset kustom yang ditentukan dalam file workflow_settings.yaml:

  ...
  defaultDataset: mytables
  ...

dataform.json

  1. Di ruang kerja pengembangan Anda, di panel Files, klik file dataform.json.

  2. 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

  1. Buka ruang kerja pengembangan Dataform Anda.
  2. Di panel Files, pilih file workflow_settings.yaml.
  3. Masukkan cuplikan kode berikut:

    "vars": {
      "VARIABLE":"VALUE"
    }
    

    Ganti kode berikut:

    • VARIABLE: nama untuk variabel
    • VALUE: nilai default variabel kompilasi

Contoh kode berikut menunjukkan variabel kompilasi