Validator SQL Integrasi Berkelanjutan (CI) memverifikasi bahwa dimensi di Eksplorasi Anda berjalan dengan benar terhadap database Anda. Untuk melakukannya, Validator SQL menjalankan serangkaian kueri pada Eksplorasi di project LookML Anda.
Secara default, Validator SQL melakukan tugas berikut:
- Untuk setiap Eksplorasi dalam project Anda, Validator SQL menjalankan kueri Eksplorasi yang menyertakan setiap dimensi dalam Eksplorasi.
- Jika Looker menampilkan error untuk kueri Eksplorasi, Validator SQL akan menjalankan kueri Eksplorasi terpisah untuk setiap dimensi dalam Eksplorasi.
Jika tidak ingin Validator SQL menguji setiap dimensi di setiap Eksplorasi, Anda dapat melakukan satu atau beberapa hal berikut:
- Konfigurasi Validator SQL untuk mengueri hanya Jelajah tertentu.
- Konfigurasi Validator SQL untuk mengecualikan Eksplorasi tertentu.
- Konfigurasi Validator SQL untuk mengabaikan dimensi LookML yang ditentukan dengan
hidden: yes
. - Tambahkan komentar atau tag
ci: ignore
ke LookML dimensi untuk mencegah Validator SQL menyertakan dimensi dalam kueri Jelajah mana pun.
Lihat bagian Opsi Validator SQL di halaman ini untuk mengetahui detail opsi yang dapat Anda konfigurasi saat membuat atau mengedit rangkaian CI. Untuk mengetahui informasi tentang cara menjalankan Validator SQL, lihat halaman dokumentasi Menjalankan rangkaian Continuous Integration.
Di halaman hasil eksekusi, Validator SQL menampilkan setiap error SQL, yang dikategorikan menurut dimensi dan Eksplorasi, dengan link ke LookML yang bermasalah dan link Jelajahi dari sini untuk proses debug:
Konsumsi sumber daya
Validator SQL dirancang untuk menggunakan resource paling sedikit dalam Looker dan dalam data warehouse Anda. Semua kueri Validator SQL menyertakan klausa LIMIT 0
dan WHERE 1=2
. Klausul ini secara efektif menginstruksikan perencana kueri di data warehouse Anda untuk tidak memproses data, tetapi memeriksa validitas SQL.
Dengan BigQuery, misalnya, jenis kueri ini mirip dengan menjalankan kueri uji coba di BigQuery. Untuk BigQuery, kueri LIMIT 0
tidak memindai data, jadi Anda tidak akan dikenai biaya untuk kueri yang dijalankan oleh Validator SQL.
Mengecualikan dimensi dari validasi SQL
Anda mungkin ingin mengecualikan dimensi tertentu dari validasi SQL, seperti dimensi yang bergantung pada parameter, karena nilai parameter akan berupa null selama validasi dan akan selalu menyebabkan error SQL.
Anda juga dapat mengecualikan dimensi yang tidak memiliki parameter sql
, seperti dimensi type: distance
, type: location
, atau type: duration
.
Untuk mengecualikan dimensi dari validasi SQL, Anda dapat mengubah LookML dimensi dengan salah satu dari dua cara:
Anda dapat menambahkan pernyataan
ci: ignore
dalam parametertags
dari definisi LookML dimensi, seperti yang ditunjukkan dalam contoh berikut:dimension: addresses { sql: ${TABLE}.addresses ;; tags: ["ci: ignore"] }
Anda dapat menambahkan komentar
-- ci: ignore
ke kolomsql
LookML dimensi, seperti yang ditunjukkan dalam contoh berikut:dimension: addresses { sql: -- ci: ignore ${TABLE}.addresses ;; }
Opsi Validator SQL
Anda dapat menentukan beberapa opsi saat membuat atau mengedit rangkaian Integrasi Berkelanjutan untuk mengonfigurasi cara menjalankan Validator SQL. Opsi tersebut dijelaskan di bagian berikut pada halaman ini:
- Eksplorasi yang akan dikueri
- Eksplorasi yang akan dikecualikan
- Gagal dengan cepat
- Abaikan yang tersembunyi
- Konkurensi kueri
- Validasi inkremental
Mempelajari kueri
Secara default, Validator SQL akan menjalankan validasi SQL pada semua model dan Eksplorasi dalam project LookML Anda.
Anda dapat menggunakan kolom Jelajah untuk membuat kueri guna menentukan Jelajah dan model yang ingin disertakan dalam validasi SQL.
Anda dapat menentukan Eksplorasi dalam format berikut: model_name/explore_name
Perhatikan hal berikut:
- Untuk
model_name
, gunakan nama file model tanpa ekstensi.model.lkml
. Misalnya, untuk menentukan model yang ditentukan dalamthelook.model.lkml
, Anda akan memasukkanthelook
. - Untuk
explore_name
, gunakanexplore_name
dari parameter LookMLexplore
. Misalnya, untuk menentukan Eksplorasi yang ditentukan sebagaiexplore: users
dalam project LookML, Anda akan memasukkanusers
. - Anda dapat membuat daftar yang dipisahkan koma untuk menentukan beberapa Eksplorasi.
- Anda dapat menggunakan karakter pengganti
*
dimodel_name
atauexplore_name
.
Berikut beberapa contohnya:
Untuk menentukan hanya Eksplorasi Pengguna yang ditentukan dengan
explore: users
dalam filethelook.model.lkml
, Anda akan memasukkan berikut ini:thelook/users
Untuk menentukan Eksplorasi bernama
users
danorders
dalam filethelook.model.lkml
, Anda akan memasukkan kode berikut:thelook/users, thelook/orders
Untuk menentukan semua Eksplorasi di
thelook.model.lkml
, Anda akan memasukkan berikut ini:thelook/*
Untuk menentukan setiap Eksplorasi bernama
users
di semua model dalam project Anda, masukkan yang berikut:*/users
Eksplorasi yang akan dikecualikan
Secara default, Validator SQL akan menjalankan validasi SQL pada semua model dan Eksplorasi dalam project LookML Anda.
Anda dapat menggunakan kolom Explores to exclude untuk menentukan Jelajah dan model yang ingin Anda kecualikan dari validasi SQL.
Anda dapat menentukan Eksplorasi dalam format berikut: model_name/explore_name
Lihat bagian Jelajah untuk dikueri untuk mengetahui informasi selengkapnya tentang cara menentukan Jelajah untuk Validator SQL.
Gagal dengan cepat
Secara default, Validator SQL menjalankan satu kueri per Eksplorasi dengan semua dimensi dalam kueri. Jika kueri Eksplorasi tersebut gagal, Validator SQL akan menjalankan kueri Eksplorasi untuk setiap dimensi dalam Eksplorasi satu per satu.
Untuk validasi yang lebih cepat, Anda dapat mengaktifkan opsi Gagal cepat sehingga Validator SQL hanya akan menjalankan kueri awal untuk Eksplorasi, yaitu kueri yang berisi semua dimensi sekaligus. Jika kueri tersebut menampilkan error, Validator SQL akan menampilkan error tersebut dalam hasil eksekusi CI, dan melanjutkan ke Eksplorasi berikutnya yang divalidasi.
Dengan mengaktifkan Gagal cepat, validasi biasanya diselesaikan lebih cepat. Namun, hasil Validator SQL hanya akan menampilkan error pertama untuk setiap Eksplorasi, meskipun beberapa dimensi mungkin memiliki error. Artinya, setelah Anda memperbaiki error pertama, eksekusi berikutnya dari Validator SQL dapat menampilkan error tambahan.
Abaikan yang tersembunyi
Aktifkan kolom Abaikan yang tersembunyi jika Anda ingin Validator SQL mengabaikan dimensi LookML yang ditentukan oleh developer Looker Anda dengan hidden: yes
. Validator SQL akan mengecualikan dimensi ini dari kueri Eksplorasi selama validasi.
Konkurensi kueri
Secara default, Validator SQL menjalankan tidak lebih dari 10 kueri sekaligus untuk menghindari membebani instance Looker Anda. Anda dapat menggunakan kolom Konkurensi kueri untuk menentukan jumlah maksimum kueri yang berbeda yang dapat dijalankan Validator SQL secara bersamaan.
Nilai maksimum untuk kolom Konkurensi kueri dibatasi hingga setelan Kueri serentak maks untuk koneksi ini pada koneksi database Anda.
Jika Anda melihat penurunan kecepatan di instance Looker saat menjalankan validasi SQL, Anda dapat mengurangi nilai ini.
Validasi inkremental
Validasi inkremental adalah metode pencarian error yang hanya terjadi pada cabang pengembangan tertentu, yaitu error yang belum ada di produksi. Validasi inkremental membantu developer menemukan dan memperbaiki error yang menjadi tanggung jawab mereka tanpa terganggu oleh error yang ada dalam project, dan juga dapat membuat validasi lebih cepat, terutama untuk project LookML yang berisi banyak Eksplorasi.
Untuk validasi inkremental, Validator SQL hanya menjalankan kueri Jelajah yang telah berubah antara versi pengembangan (referensi dasar) dan versi produksi (referensi target). Validator SQL hanya menampilkan error yang unik untuk versi pengembangan, meskipun versi produksi itu sendiri memiliki error.
Dalam hasil validator, Validator SQL menunjukkan setiap Eksplorasi yang dilewati karena tidak ada perubahan pada SQL yang dikompilasinya di cabang atau commit yang divalidasi. Lihat Melihat hasil untuk validasi inkremental untuk contoh hasil validasi inkremental.
Anda dapat mengaktifkan validasi inkremental untuk Validator SQL dengan mencentang kotak Hanya error inkremental di bagian Validator SQL saat Anda membuat atau mengedit rangkaian Integrasi Berkelanjutan.
Perhatikan hal berikut untuk validasi inkremental:
- Setelan validasi inkremental tidak berlaku saat Validator SQL memvalidasi cabang produksi itu sendiri, seperti pada operasi manual di cabang produksi. Saat memvalidasi cabang produksi, Validator SQL menjalankan validasi penuh.
- Mode Fail fast tidak didukung untuk menjalankan validasi inkremental, karena kueri dimensi individual diperlukan untuk mengekspos error inkremental yang khusus untuk cabang pengembangan project.