Validator SQL Continuous Integration (CI) memverifikasi bahwa dimensi dalam Eksplorasi Anda berjalan dengan benar di database Anda. Untuk melakukannya, Validator SQL menjalankan serangkaian kueri di Eksplorasi dalam project LookML Anda.
Secara default, SQL Validator melakukan tugas-tugas berikut:
- Untuk setiap Explore dalam project Anda, Validator SQL menjalankan kueri Explore yang menyertakan setiap dimensi dalam Explore.
- 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 Explore, Anda dapat melakukan satu atau beberapa hal berikut:
- Konfigurasikan SQL Validator untuk membuat kueri hanya pada Eksplorasi tertentu.
- Mengonfigurasi Validator SQL untuk mengecualikan Eksplorasi tertentu.
- Konfigurasikan SQL Validator untuk mengabaikan dimensi LookML Anda yang ditentukan dengan
hidden: yes. - Tambahkan komentar atau tag
ci: ignoreke LookML dimensi untuk mencegah Validator SQL menyertakan dimensi dalam kueri Eksplorasi mana pun.
Lihat bagian opsi SQL Validator di halaman ini untuk mengetahui detail tentang opsi yang dapat Anda konfigurasi saat membuat atau mengedit suite CI. Untuk mengetahui informasi tentang cara menjalankan Validator SQL, lihat halaman dokumentasi Menjalankan suite Continuous Integration.
Di halaman hasil eksekusi, SQL Validator menampilkan setiap error SQL, yang dikategorikan berdasarkan dimensi dan Eksplorasi, dengan link ke LookML yang bermasalah dan link Explore from here 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. Klausa ini secara efektif menginstruksikan perencana kueri di data warehouse Anda untuk tidak memproses data, tetapi memeriksa validitas SQL.
Misalnya, dengan BigQuery, jenis kueri ini mirip dengan menjalankan kueri uji coba di BigQuery. Untuk BigQuery, kueri LIMIT 0 tidak memindai data, sehingga 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 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 berikut:
Anda dapat menambahkan pernyataan
ci: ignoredalam parametertagsdari definisi LookML dimensi, seperti yang ditunjukkan dalam contoh berikut:dimension: addresses { sql: ${TABLE}.addresses ;; tags: ["ci: ignore"] }Anda dapat menambahkan komentar
-- ci: ignoreke kolomsqlLookML dimensi Anda, seperti yang ditunjukkan dalam contoh berikut:dimension: addresses { sql: -- ci: ignore ${TABLE}.addresses ;; }
Koneksi database OAuth dan Continuous Integration
Jika project LookML Anda menggunakan koneksi database yang dikonfigurasi untuk OAuth, pengguna akun layanan CI otomatis tidak dapat menyelesaikan alur OAuth interaktif yang diperlukan untuk melakukan autentikasi ke database. Hal ini menyebabkan Validator SQL gagal dengan error OAuth log in required.
Untuk menggunakan Validator SQL Continuous Integration, terapkan salah satu solusi berikut:
- Konfigurasikan koneksi database untuk menggunakan akun layanan: Ubah setelan Autentikasi koneksi database untuk menggunakan akun layanan (seperti Kredensial Default Aplikasi), bukan OAuth.
- Gunakan model non-OAuth untuk CI: Buat model LookML baru yang menggunakan koneksi database non-OAuth dan impor model Anda yang lain ke dalamnya. Pastikan pengguna Looker CI memiliki akses ke model baru ini.
Opsi Validator SQL
Anda dapat menentukan beberapa opsi saat membuat atau mengedit Continuous Integration suite untuk mengonfigurasi cara SQL Validator berjalan. 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
Eksplorasi untuk membuat kueri
Secara default, SQL Validator akan menjalankan validasi SQL pada semua model dan Explore dalam project LookML Anda.
Anda dapat menggunakan kolom Explores to query untuk menentukan Eksplorasi dan model yang ingin Anda sertakan 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 dithelook.model.lkml, Anda harus memasukkanthelook. - Untuk
explore_name, gunakanexplore_namedari parameter LookMLexplore. Misalnya, untuk menentukan Eksplorasi yang didefinisikan sebagaiexplore: usersdalam project LookML, Anda akan memasukkanusers. - Anda dapat membuat daftar yang dipisahkan koma untuk menentukan beberapa Explore.
- Anda dapat menggunakan karakter pengganti
*dimodel_nameatauexplore_name.
Berikut beberapa contohnya:
Untuk menentukan hanya Eksplorasi Users yang ditentukan dengan
explore: usersdalam filethelook.model.lkml, Anda akan memasukkan hal berikut:thelook/usersUntuk menentukan Explore bernama
usersdanordersdalam filethelook.model.lkml, Anda harus memasukkan kode berikut:thelook/users, thelook/ordersUntuk menentukan semua Eksplorasi di
thelook.model.lkml, Anda harus memasukkan kode berikut:thelook/*Untuk menentukan setiap Eksplorasi bernama
usersdi semua model dalam project, Anda harus memasukkan hal berikut:*/users
Eksplorasi yang akan dikecualikan
Secara default, SQL Validator akan menjalankan validasi SQL pada semua model dan Explore dalam project LookML Anda.
Anda dapat menggunakan kolom Explores to exclude untuk menentukan Eksplorasi dan model yang ingin Anda kecualikan dari validasi SQL.
Anda dapat menentukan Eksplorasi dalam format berikut: model_name/explore_name
Lihat bagian Eksplorasi yang akan dikueri untuk mengetahui informasi selengkapnya tentang cara menentukan Eksplorasi 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 melakukan kueri Eksplorasi untuk setiap dimensi dalam Eksplorasi satu per satu.
Untuk validasi yang lebih cepat, Anda dapat mengaktifkan opsi Fail fast sehingga Validator SQL hanya akan menjalankan kueri awal untuk Eksplorasi, yaitu kueri yang berisi semua dimensi sekaligus. Jika kueri tersebut menampilkan error, SQL Validator akan menampilkan error tersebut di hasil operasi CI, dan melanjutkan ke Eksplorasi berikutnya yang divalidasi.
Jika Gagal cepat diaktifkan, validasi biasanya selesai lebih cepat. Namun, hasil Validator SQL hanya akan menampilkan error pertama untuk setiap Explore, meskipun beberapa dimensi mungkin memiliki error. Artinya, setelah Anda memperbaiki error pertama, eksekusi SQL Validator berikutnya mungkin akan menampilkan error tambahan.
Abaikan yang tersembunyi
Aktifkan kolom Ignore hidden 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 kelebihan beban pada instance Looker Anda. Anda dapat menggunakan kolom Konkurensi kueri untuk menentukan jumlah maksimum kueri yang berbeda yang dapat dijalankan secara serentak oleh Validator SQL.
Nilai maksimum untuk kolom Query concurrency dibatasi oleh setelan Max concurrent queries for this connection pada koneksi database Anda.
Jika Anda melihat perlambatan pada 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 mempercepat validasi, terutama untuk project LookML yang berisi banyak Eksplorasi.
Untuk validasi inkremental, Validator SQL hanya menjalankan kueri Eksplorasi 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, SQL Validator menunjukkan setiap Eksplorasi yang dilewati karena tidak ada perubahan pada SQL yang dikompilasi di cabang atau commit yang divalidasi. Lihat Melihat hasil untuk validasi inkremental untuk mengetahui contoh hasil validasi inkremental.
Anda dapat mengaktifkan validasi inkremental untuk Validator SQL dengan mencentang kotak Only incremental errors di bagian SQL Validator saat membuat atau mengedit Continuous Integration suite.
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 operasi validasi inkremental, karena kueri dimensi individual diperlukan untuk mengekspos error inkremental yang spesifik untuk cabang pengembangan project.