Untuk menghubungkan Looker ke Snowflake, ikuti langkah-langkah berikut:
- Buat pengguna Looker di Snowflake dan sediakan akses.
- Siapkan koneksi database di Looker.
Mengenkripsi traffic jaringan
Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.
Membuat pengguna Looker di Snowflake
Sebaiknya gunakan perintah berikut untuk membuat pengguna Looker. Pastikan untuk menjalankan setiap baris satu per satu, atau pilih opsi Semua Kueri di panel koneksi Snowflake untuk memastikan semua baris dijalankan (secara default, Snowflake hanya menjalankan baris yang dipilih):
Sebaiknya tambahkan kata kunci ON FUTURE
ke setiap pernyataan GRANT
sehingga objek yang baru dibuat akan memiliki izin yang sama tanpa perlu tindakan lebih lanjut.
-- change role to ACCOUNTADMIN
use role ACCOUNTADMIN;
-- create role for looker
create role if not exists looker_role;
grant role looker_role to role SYSADMIN;
-- Note that we are not making the looker_role a SYSADMIN,
-- but rather granting users with the SYSADMIN role to modify the looker_role
-- create a user for looker
create user if not exists looker_user
password = <enter password here>;
grant role looker_role to user looker_user;
alter user looker_user
set default_role = looker_role
default_warehouse = looker_wh;
-- change role
use role SYSADMIN;
-- create a warehouse for looker (optional)
create warehouse if not exists looker_wh
-- set the size based on your dataset
warehouse_size = medium
warehouse_type = standard
auto_suspend = 1800
auto_resume = true
initially_suspended = true;
grant all privileges
on warehouse looker_wh
to role looker_role;
-- grant read only database access (repeat for all database/schemas)
grant usage on database <database> to role looker_role;
grant usage on schema <database>.<schema> to role looker_role;
-- rerun the following any time a table is added to the schema
grant select on all tables in schema <database>.<schema> to role looker_role;
-- or
grant select on future tables in schema <database>.<schema> to role looker_role;
-- create schema for looker to write back to
use database <database>;
create schema if not exists looker_scratch;
use role ACCOUNTADMIN;
grant ownership on schema looker_scratch to role SYSADMIN revoke current grants;
grant all on schema looker_scratch to role looker_role;
Membuat koneksi Looker ke database Anda
Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Isi detail koneksi. Sebagian besar setelan umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi selengkapnya. Deskripsi setelan berikut berisi catatan khusus untuk Snowflake:
Setelan Database - Host: Masukkan nama host Snowflake. Hasilnya akan terlihat seperti <account_name>.snowflakecomputing.com
. Periksa contoh nama akun Snowflake menurut wilayah untuk memastikan Anda menggunakan nilai yang tepat untuk deployment Anda.
Setelan Database - Metode Autentikasi: Pilih salah satu metode autentikasi berikut:
Akun Database hanya boleh digunakan oleh pelanggan lama yang memerlukan waktu untuk beralih ke metode autentikasi multi-faktor sebelum batas waktu Snowflake pada November 2025. Tentukan Nama Pengguna dan Sandi akun pengguna Snowflake yang akan digunakan untuk terhubung ke Looker.
Pasangan Kunci harus digunakan oleh pelanggan yang ingin menerapkan autentikasi pasangan kunci Snowflake untuk terhubung dengan database mereka. Tentukan akun pengguna yang akan digunakan untuk terhubung ke Snowflake di kolom Nama pengguna. Upload file kunci berformat p8 yang tidak dienkripsi di kolom Key Pair File; file kunci terenkripsi tidak didukung. Dokumentasi Snowflake menjelaskan cara membuat file kunci pribadi.
OAuth harus digunakan oleh pelanggan yang tidak memerlukan tabel turunan persisten (PDT) dan ingin mengonfigurasi OAuth untuk koneksi.
Setelan Opsional - Aktifkan PDT: PDT tidak didukung untuk koneksi Snowflake yang menggunakan autentikasi OAuth. Jika PDT diperlukan, gunakan opsi autentikasi Pasangan Kunci.
Setelan Opsional - Parameter JDBC tambahan: Tambahkan parameter JDBC tambahan dari driver JDBC Snowflake.
- Tambahkan
warehouse=<YOUR WAREHOUSE NAME>
. Selain itu, secara default, Looker akan menetapkan parameter Snowflake berikut pada setiap sesi:
TIMESTAMP_TYPE_MAPPING=TIMESTAMP_LTZ
JDBC_TREAT_DECIMAL_AS_INT=FALSE
TIMESTAMP_INPUT_FORMAT=AUTO
AUTOCOMMIT=TRUE
Anda dapat mengganti setiap parameter ini dengan menetapkan nilai alternatif di kolom Parameter JDBC tambahan, misalnya:
&AUTOCOMMIT=FALSE
Untuk memverifikasi bahwa koneksi berhasil, klik Uji. Lihat halaman dokumentasi Menguji konektivitas database untuk mengetahui informasi pemecahan masalah.
Untuk menyimpan setelan ini, klik Hubungkan.
Menetapkan gudang Snowflake berdasarkan per grup atau per pengguna
Anda dapat menggunakan atribut pengguna Looker untuk menetapkan warehouse Snowflake terpisah kepada pengguna atau grup Looker individual. Hal ini berguna, misalnya, jika Anda memiliki pengguna yang memerlukan tingkat daya komputasi yang berbeda. Anda dapat menetapkan gudang dengan resource komputasi yang lebih besar hanya kepada pengguna yang membutuhkannya, sekaligus menetapkan gudang dengan resource yang lebih kecil kepada pengguna yang kurang membutuhkannya.
Untuk menetapkan gudang berdasarkan per grup atau per pengguna, ikuti langkah-langkah berikut:
- Tambahkan grup atau pengguna di Looker.
Tentukan atribut pengguna di Looker tempat nama gudang Snowflake akan disimpan. Anda dapat memberikan nama apa pun untuk atribut ini, seperti
snowflake_wh
.Di atribut pengguna yang baru saja Anda tentukan, tetapkan nilai nama gudang ke grup atau pengguna yang akan memerlukan akses gudang yang berbeda.
Di kolom Parameter JDBC tambahan di halaman Setelan Koneksi, tambahkan yang berikut, dengan mengganti
snowflake_warehouse
dengan nama atribut pengguna yang Anda tentukan:warehouse={{ _user_attributes['snowflake_warehouse'] }}
Untuk menguji setelan koneksi individual, Anda dapat menggunakan sudo sebagai pengguna yang Anda tetapkan nilai nama gudangnya.
Mengelola fitur penangguhan otomatis Snowflake
Warehouse Snowflake memiliki fitur penangguhan otomatis yang diaktifkan secara default. Setelah periode tertentu, gudang akan ditangguhkan secara otomatis. Jika gudang ditangguhkan, semua kueri akan menghasilkan error. Error ini tidak terlihat di dasbor (biasanya error ini menyebabkan tidak ada data yang ditampilkan), tetapi terlihat oleh pengguna yang membuat kueri dengan halaman Jelajah.
Biasanya ada dua metode yang digunakan untuk mengelola hal ini:
Snowflake memiliki fitur melanjutkan otomatis yang akan melanjutkan gudang saat dikueri. Namun, melanjutkan gudang dapat memerlukan waktu hingga lima menit, sehingga kueri berhenti merespons selama lima menit sebelum ditampilkan. Lanjutkan otomatis tidak dapat dikonfigurasi di Looker. Aktifkan fitur ini di tab Warehouses di UI Snowflake:
Jika tabel turunan persisten (PDT) telah diaktifkan, setelan default Looker adalah memeriksa regenerasi tabel turunan setiap 5 menit. Pemeriksaan ini akan membuat gudang Snowflake tetap aktif. Namun, Anda mungkin ingin Snowflake menangguhkan gudang selama di luar jam kerja untuk mengurangi biaya. Hal ini dapat dilakukan dengan mengubah jadwal regenerasi PDT, seperti yang dijelaskan dalam dokumentasi jadwal pemeliharaan.
Dukungan PDT
PDT tidak didukung untuk koneksi Snowflake yang menggunakan OAuth.
Untuk dukungan tabel turunan persisten, buat akun pengguna Snowflake untuk PDT yang memiliki akses tulis ke database dan skema sementara yang akan digunakan Looker untuk membuat PDT. Di halaman Setelan Koneksi Looker, pada tab Setelan Opsional di bagian Setelan Tabel Turunan Persisten (PDT), aktifkan tombol Aktifkan PDT. Kemudian, di kolom Database sementara, masukkan nama skema sementara yang akan digunakan Looker untuk membuat PDT.
Perhatikan bahwa Penggantian PDT tidak tersedia untuk koneksi Snowflake yang menggunakan autentikasi Pasangan Kunci.
Untuk koneksi Snowflake, Looker menetapkan nilai untuk parameter AUTOCOMMIT
Snowflake ke TRUE
, yang merupakan nilai default Snowflake. AUTOCOMMIT
diperlukan untuk perintah SQL yang dijalankan Looker untuk mempertahankan sistem pendaftaran PDT-nya.
Mengonfigurasi OAuth untuk koneksi Snowflake
Looker mendukung OAuth untuk koneksi Snowflake, yang berarti setiap pengguna Looker mengautentikasi ke database dengan akun pengguna OAuth mereka sendiri.
OAuth memungkinkan administrator database melakukan tugas berikut:
- Mengaudit pengguna Looker yang menjalankan kueri terhadap database
- Menerapkan kontrol akses berbasis peran menggunakan izin tingkat database
- Gunakan token OAuth untuk semua proses dan tindakan yang mengakses database, alih-alih menyematkan ID dan sandi database di beberapa tempat
- Mencabut otorisasi untuk pengguna tertentu secara langsung melalui database
Dengan koneksi Snowflake yang menggunakan OAuth, pengguna harus login kembali secara berkala saat token OAuth mereka berakhir. Masa berlaku maksimum token OAuth Snowflake ditetapkan melalui Snowflake itu sendiri.
Perhatikan hal berikut untuk koneksi OAuth tingkat database:
- Tabel turunan persisten (PDT) tidak didukung untuk koneksi Snowflake dengan OAuth.
- Jika token OAuth pengguna berakhir, semua jadwal atau pemberitahuan Looker yang dimilikinya akan terpengaruh. Untuk mencegah hal ini, Looker akan mengirimkan email notifikasi kepada pemilik setiap jadwal dan setiap pemberitahuan 14 hari, 7 hari, dan 1 hari sebelum masa berlaku token berakhir. Pengguna dapat membuka halaman pengguna Looker untuk memberikan kembali otorisasi Looker ke database dan menghindari gangguan pada jadwal dan pemberitahuan mereka. Lihat halaman dokumentasi Mempersonalisasi setelan akun pengguna untuk mengetahui detailnya.
- Karena koneksi database yang menggunakan OAuth bersifat "per pengguna", kebijakan caching juga bersifat per pengguna dan bukan hanya per kueri. Artinya, Looker hanya akan menggunakan hasil yang di-cache jika pengguna yang sama telah menjalankan kueri yang sama dalam periode penyimpanan dalam cache. Untuk mengetahui informasi selengkapnya tentang caching, lihat halaman dokumentasi Menyimpan kueri ke dalam cache.
- Saat menggunakan OAuth, Anda tidak dapat beralih ke peran yang berbeda di akun pengguna Snowflake. Seperti yang dijelaskan dalam dokumentasi Snowflake, Snowflake menggunakan peran default akun pengguna Snowflake, kecuali jika peran defaultnya adalah ACCOUNTADMIN atau SECURITYADMIN. Karena peran ini diblokir untuk OAuth, Snowflake akan menggunakan peran PUBLIC. Lihat dokumentasi Snowflake untuk mengetahui informasinya.
- Saat admin Looker melakukan sudo sebagai pengguna lain, admin akan menggunakan token akses OAuth pengguna tersebut. Jika masa berlaku token akses pengguna telah berakhir, admin tidak dapat membuat token baru atas nama pengguna yang di-sudo. Lihat halaman dokumentasi Pengguna untuk mengetahui informasi tentang penggunaan perintah
sudo
.
Mengonfigurasi database Snowflake untuk OAuth dengan Looker
Untuk membuat koneksi Snowflake ke Looker menggunakan OAuth, Anda harus menyiapkan integrasi OAuth di Snowflake. Tindakan ini memerlukan akun pengguna Snowflake dengan izin ACCOUNTADMIN.
Jalankan perintah berikut di Snowflake, dengan
<looker_hostname>
adalah nama host instance Looker Anda:CREATE SECURITY INTEGRATION LOOKER TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = LOOKER OAUTH_REDIRECT_URI = 'https://<looker_hostname>/external_oauth/redirect';
Dapatkan ID dan rahasia klien OAuth dengan menjalankan perintah berikut:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('LOOKER');
Respons akan memiliki
OAUTH_CLIENT_ID
danOAUTH_CLIENT_SECRET
yang akan Anda perlukan nanti dalam prosedur ini.Di Looker, buat koneksi baru ke gudang Snowflake Anda, seperti yang dijelaskan di bagian Membuat koneksi Looker ke database Anda di halaman ini. Saat Anda membuat koneksi baru, pilih opsi OAuth di kolom Authentication. Saat Anda memilih opsi OAuth, Looker akan menampilkan kolom OAuth Client ID dan OAuth Client Secret.
Tempelkan nilai
OAUTH_CLIENT_ID
danOAUTH_CLIENT_SECRET
yang Anda dapatkan dari database sebelumnya dalam prosedur ini.Selesaikan prosedur lainnya untuk Menghubungkan Looker ke database Anda.
Menguji koneksi OAuth
Setelah mengonfigurasi koneksi Looker ke database, Anda dapat menguji koneksi itu sendiri dengan melakukan salah satu hal berikut:
- Pilih tombol Uji di bagian bawah halaman Setelan Koneksi, seperti yang dijelaskan di halaman dokumentasi Menghubungkan Looker ke database Anda.
- Pilih tombol Uji berdasarkan listingan koneksi di halaman admin Koneksi, seperti yang dijelaskan di halaman dokumentasi Koneksi.
Selain itu, Anda dapat menguji koneksi dan men-deploy-nya pada model dengan mengikuti langkah-langkah berikut:
- Di Looker, buka Mode Pengembangan.
- Buka file project untuk project Looker yang menggunakan koneksi Snowflake Anda.
- Buka file model dan ganti nilai
connection
model dengan nama koneksi Snowflake baru, lalu simpan file model. - Buka salah satu Jelajah atau dasbor model, lalu jalankan kueri. Saat Anda mencoba menjalankan kueri, Looker akan meminta Anda untuk login ke Snowflake.
- Ikuti petunjuk login untuk Snowflake dan masukkan kredensial Snowflake Anda.
Setelah Anda berhasil login ke Snowflake, Looker akan mengalihkan Anda kembali ke kueri Anda. Jika kueri Anda berjalan dengan benar, Anda dapat melakukan perubahan pada nilai koneksi baru dan men-deploy perubahan ke produksi.
Login ke Snowflake untuk menjalankan kueri
Setelah koneksi Snowflake disiapkan untuk OAuth, pengguna akan diminta untuk login ke Snowflake sebelum menjalankan kueri. Hal ini mencakup kueri dari Jelajah, dasbor, Look, dan SQL Runner.
Pengguna juga dapat login ke Snowflake dari bagian OAuth Connection Credentials di halaman Account mereka.
Untuk login ke akun Snowflake menggunakan Looker, ikuti langkah-langkah berikut:
- Klik menu pengguna Looker.
- Pilih Akun.
- Di halaman Account, buka bagian OAuth Connection Credentials, lalu pilih tombol Log In untuk database Snowflake yang sesuai.
Memilih Log In akan menampilkan dialog login Snowflake. Masukkan kredensial Snowflake Anda, pilih Log In, lalu pilih Allow untuk memberikan akses Looker ke akun Snowflake Anda.
Setelah login ke Snowflake melalui Looker, Anda dapat logout atau mengotorisasi ulang kredensial Anda kapan saja melalui halaman Akun, seperti yang dijelaskan di halaman dokumentasi Mempersonalisasi akun pengguna Anda.
Dukungan fitur
Agar Looker mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
Snowflake mendukung fitur berikut mulai Looker 25.10:
Fitur | Didukung? |
---|---|
Level dukungan | Didukung |
Looker (Google Cloud core) | Ya |
Agregat simetris | Ya |
Tabel turunan | Ya |
Tabel turunan SQL persisten | Ya |
Tabel turunan native persisten | Ya |
Tampilan stabil | Ya |
Penghentian kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Ya |
Parameter tambahan JDBC | Ya |
Peka huruf besar/kecil | Ya |
Jenis lokasi | Ya |
Jenis daftar | Ya |
Persentil | Ya |
Persentil berbeda | Tidak |
SQL Runner Show Processes | Tidak |
SQL Runner Describe Table | Ya |
Tampilkan Indeks SQL Runner | Tidak |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
Penjelasan SQL | Ya |
Kredensial OAuth 2.0 | Ya |
Komentar konteks | Ya |
Penggabungan koneksi | Ya |
Sketsa HLL | Ya |
Kesadaran agregat | Ya |
PDT inkremental | Ya |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan terwujud | Tidak |
Ukuran dari periode ke periode | Ya |
Jumlah perkiraan berbeda | Tidak |
Langkah berikutnya
Setelah menghubungkan database ke Looker, konfigurasi opsi login untuk pengguna Anda.