Menambahkan operasi SQL kustom

Dokumen ini menunjukkan cara menentukan operasi SQL kustom dalam file SQLX khusus.

Dataform dapat menjalankan operasi SQL kustom yang tidak sesuai dengan model Dataform seperti memublikasikan tabel atau menulis pernyataan. Anda dapat menentukan perintah SQL kustom untuk Dataform yang akan dijalankan di BigQuery.

Sebelum memulai

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka halaman Dataform

  2. Pilih atau buat repositori.

  3. Pilih atau buat ruang kerja pengembangan.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan dalam menentukan 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.

Membuat file untuk definisi operasi kustom

Simpan file SQLX definisi operasi kustom di direktori definitions/. Untuk membuat file SQLX baru di direktori definitions/, ikuti langkah-langkah berikut:

  1. Buka ruang kerja pengembangan Anda.
  2. Di panel Files, di samping definitions/, klik menu More.
  3. Klik Create file.
  4. Di kolom Add a file path, masukkan nama file, diikuti dengan .sqlx setelah definitions/. Contohnya, definitions/sample-operation.sqlx

    Nama file hanya boleh berisi angka, huruf, tanda hubung, dan garis bawah.

  5. Klik Create file.

Menentukan operasi SQL kustom

Anda dapat menentukan operasi SQL kustom dalam file SQLX type: operations. Anda dapat menulis pernyataan SQL BigQuery apa pun dalam file operations. Dataform menjalankan operasi SQL kustom Anda di BigQuery tanpa modifikasi.

Anda dapat menentukan beberapa operasi SQL kustom dalam satu file SQLX. BigQuery menjalankan semua operasi dalam file dalam konteks yang sama, dan membuat SQL yang dijalankan dengan menggabungkan semua operasi menggunakan titik koma ;.

Untuk menentukan beberapa operasi SQL kustom saat menggunakan framework Dataform open source dengan data warehouse selain BigQuery, pisahkan operasi dengan ---.

Untuk menentukan operasi SQL kustom dalam file SQLX khusus, ikuti langkah-langkah berikut:

  1. Di ruang kerja pengembangan Anda, pilih file SQLX untuk definisi operasi kustom.
  2. Dalam file tersebut, masukkan cuplikan kode berikut:

    config { type: "operations" }
    
  3. Di luar blok config, tulis operasi SQL Anda.

  4. Opsional: Klik Format.

Contoh kode berikut menunjukkan beberapa operasi SQL kustom yang ditentukan dalam file operations:

config { type: "operations" }

DELETE FROM dataset.table WHERE country = 'GB';

DELETE FROM dataset.table WHERE country = 'FR';

Contoh kode berikut menunjukkan operasi SQL kustom yang membuat tampilan secara manual:

config { type: "operations" }
CREATE OR REPLACE VIEW dataset.table AS (SELECT 1 AS TEST)

Membuat tabel output yang dapat direferensikan

Anda dapat membuat tabel secara manual dalam operasi SQL kustom yang dapat direferensikan di skrip lain. Untuk membuat tabel yang tersedia untuk skrip lain, Anda harus mendeklarasikan bahwa operasi memiliki output.

Agar nama tabel output cocok dengan nama file operations, Anda dapat menggunakan fungsi self dalam operasi CREATE.

Untuk membuat tabel dalam operasi kustom dan menyediakannya untuk skrip lain, ikuti langkah-langkah berikut:

  1. Di ruang kerja pengembangan Anda, pilih file SQLX untuk definisi operasi kustom.
  2. Di file SQLX, masukkan cuplikan kode berikut:

    config {
     type: "operations",
     hasOutput: true
     }
    
  3. Opsional: Untuk mencocokkan nama tabel output dengan nama file, tulis operasi CREATE SQL dengan fungsi self dalam format berikut:

    CREATE OR REPLACE TABLE ${self()} AS (CUSTOM_SQL_QUERY)
    

    Ganti CUSTOM_SQL_QUERY dengan pernyataan SQL definisi tabel SELECTAnda.

  4. Opsional: Klik Format.

Mereferensikan tabel output operasi SQL kustom

  • Untuk mereferensikan tabel output operasi SQL kustom dalam definisi SQLX tabel yang berbeda, masukkan nama file tabel output dalam fungsi ref.

Contoh kode berikut menunjukkan operasi SQL kustom dalam file custom_SQL_operation_table.sqlx yang membuat tabel dapat direferensikan bernama custom_SQL_operation_table:

// filename is custom_SQL_operation_table.sqlx
config {
type: "operations",
hasOutput: true
}
CREATE OR REPLACE VIEW ${self()} AS (SELECT 1 AS TEST)

Contoh kode berikut menunjukkan referensi custom\_SQL\_operation\_table table dalam file SQLX definisi tabel:

config { type: "table" }
SELECT * FROM ${ref("custom_SQL_operation_table")}

Membuat tabel kosong

Sebaiknya buat tabel kosong agar layanan yang berbeda dapat mengisinya dengan data. Anda dapat membuat tabel kosong dalam operasi SQL kustom dengan fungsi CREATE TABLE. Agar dapat mereferensikan tabel kosong dalam definisi objek alur kerja SQL lainnya, misalnya tabel dan tampilan, Anda dapat menambahkan properti hasOutput:true ke blok config dari operasi tabel kosong.

  • Untuk membuat tabel kosong, gunakan fungsi CREATE TABLE di file type: "operations" dalam format berikut:
config {
  type: "operations",
  hasOutput: true  // optional, lets you reference the empty table
}

CREATE TABLE ${self()} (

)

Contoh kode berikut menunjukkan operasi SQL kustom yang membuat tabel kosong dengan bilangan bulat dan kolom string. Tabel kosong yang dibuat tidak dapat direferensikan oleh objek alur kerja SQL lainnya:

config {
  type: "operations"
}

CREATE TABLE ${self()} (
  x INT64,
  y STRING
)

Langkah selanjutnya