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 All Queries 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 agar objek yang baru dibuat 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;
Jika ingin mengaktifkan Explore layanan mandiri di koneksi, Anda juga harus memberikan CREATE STAGE ke peran Looker:
GRANT CREATE STAGE ON SCHEMA looker_scratch TO ROLE looker_role;
Membuat koneksi Looker ke database Anda
Di bagian Admin di Looker, pilih Connections, lalu klik Add Connection.
Isi detail koneksi. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasinya. Deskripsi setelan berikut berisi catatan khusus untuk Snowflake:
Database Settings - Host: Masukkan nama host Snowflake. Tampilannya akan terlihat seperti
<account_name>.snowflakecomputing.com. Periksa contoh nama akun Snowflake menurut region untuk memastikan Anda menggunakan nilai yang tepat untuk deployment Anda.Database Settings - Authentication Method: Pilih salah satu metode autentikasi berikut:
Database Account hanya boleh digunakan oleh pelanggan lama yang memerlukan waktu untuk beralih ke metode autentikasi multi-faktor sebelum batas waktu Snowflake pada November 2025. Tentukan Username dan Password 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 Username. Upload file pasangan kunci berformat p8 yang dienkripsi atau tidak dienkripsi di kolom Key Pair File. Dokumentasi Snowflake menjelaskan cara membuat file kunci pribadi. Jika Anda mengupload file p8 terenkripsi, lakukan tindakan berikut:
- Aktifkan tombol Pasangan Kunci Dienkripsi.
- Tentukan sandi untuk file p8 di kolom Sandi Dekripsi File Pasangan Kunci.
OAuth harus digunakan oleh pelanggan yang tidak memerlukan tabel turunan persisten (PDT) dan ingin mengonfigurasi OAuth untuk koneksi.
Setelan Opsional - Parameter JDBC tambahan: Tambahkan parameter JDBC tambahan dari driver JDBC Snowflake. Lihat bagian Parameter JDBC yang didukung di halaman ini untuk mengetahui daftar parameter yang didukung.
- Menambahkan
warehouse=<YOUR WAREHOUSE NAME>. Selain itu, secara default, Looker akan menetapkan parameter Snowflake berikut di setiap sesi:
TIMESTAMP_TYPE_MAPPING=TIMESTAMP_LTZJDBC_TREAT_DECIMAL_AS_INT=FALSETIMESTAMP_INPUT_FORMAT=AUTOAUTOCOMMIT=TRUE
Anda dapat mengganti setiap parameter ini dengan menetapkan nilai alternatif di kolom Additional JDBC parameters, misalnya:
&AUTOCOMMIT=FALSE
- Menambahkan
Setelan Opsional - Aktifkan PDT: PDT tidak didukung untuk koneksi Snowflake yang menggunakan autentikasi OAuth. Jika PDT diperlukan, gunakan opsi autentikasi pasangan kunci.
Setelan Opsional - Aktifkan Penggantian PDT: Penggantian PDT didukung untuk koneksi Snowflake sehingga Anda dapat memasukkan parameter JDBC terpisah yang khusus untuk proses PDT, seperti host, port, database, nama pengguna, sandi, skema, parameter tambahan, dan nilai untuk kolom PDT Override After Connect Statements. Anda dapat menggunakan autentikasi pasangan kunci dalam penggantian PDT dengan melakukan hal berikut:
- Upload file pasangan kunci berformat p8 yang dienkripsi atau tidak dienkripsi di kolom PDT Override Key Pair file. Dokumentasi Snowflake menjelaskan cara membuat file kunci pribadi.
- Jika Anda mengupload file p8 terenkripsi, tentukan sandi untuk file p8 di kolom PDT Override Password.
Untuk memverifikasi bahwa koneksi berhasil, klik tombol Test Connection di bagian Status details di bagian bawah halaman Connections Settings.
Jika Looker menampilkan Can Connect, tekan Connect untuk membuat koneksi.
Koneksi database Anda kemudian akan ditambahkan ke daftar di halaman Admin Connections Looker.
Menetapkan warehouse Snowflake per grup atau per pengguna
Anda dapat menggunakan atribut pengguna Looker untuk menetapkan warehouse Snowflake terpisah ke pengguna atau grup Looker individual. Hal ini berguna, misalnya, jika Anda memiliki pengguna yang memerlukan tingkat daya komputasi yang berbeda. Anda dapat menetapkan warehouse dengan resource komputasi yang lebih besar hanya kepada pengguna yang membutuhkannya, sekaligus menetapkan warehouse dengan resource yang lebih kecil kepada pengguna dengan kebutuhan yang lebih sedikit.
Untuk menetapkan gudang per grup atau per pengguna, ikuti langkah-langkah berikut:
- Tambahkan grup atau pengguna di Looker.
Tentukan atribut pengguna di Looker tempat nama warehouse Snowflake akan disimpan. Anda dapat memberi atribut ini nama apa pun, seperti
snowflake_wh.
Di atribut pengguna yang baru saja Anda tentukan, tetapkan nilai nama warehouse ke grup atau pengguna yang akan memerlukan akses warehouse yang berbeda.

Di kolom Additional JDBC parameters pada halaman Connection Settings, tambahkan parameter berikut, dengan mengganti
snowflake_warehousedengan nama atribut pengguna yang Anda tentukan:warehouse={{ _user_attributes['snowflake_warehouse'] }}Untuk menguji setelan koneksi individual, Anda dapat melakukan sudo sebagai pengguna yang Anda tetapkan nilai nama warehouse-nya.
Mengelola fitur penangguhan otomatis Snowflake
Warehouse Snowflake memiliki fitur penangguhan otomatis yang diaktifkan secara default. Setelah periode yang ditentukan, warehouse akan ditangguhkan secara otomatis. Jika warehouse 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 mana pun yang membuat kueri dengan halaman Eksplorasi.
Dua metode yang biasanya digunakan untuk mengelola hal ini:
Snowflake memiliki fitur auto-resume yang akan melanjutkan warehouse saat di-query. Namun, melanjutkan warehouse dapat memerlukan waktu hingga lima menit, sehingga menyebabkan kueri berhenti merespons selama lima menit sebelum ditampilkan. Auto-resume 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 pembuatan ulang tabel turunan setiap 5 menit. Pemeriksaan ini akan membuat warehouse Snowflake tetap aktif. Namun, Anda mungkin ingin Snowflake menangguhkan warehouse selama jam non-kerja untuk mengurangi biaya. Hal ini dapat dilakukan dengan mengubah jadwal pembuatan ulang 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 Anda dan skema sementara yang akan digunakan Looker untuk membuat PDT. Di halaman Connections Settings Looker, pada tab Optional Settings di bagian Persistent Derived Table (PDT) Settings, aktifkan tombol Enable PDTs. Kemudian, di kolom Temp database, masukkan nama skema sementara yang akan digunakan Looker untuk membuat PDT.
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 mengelola sistem pendaftaran PDT-nya.
Mengonfigurasi OAuth untuk koneksi Snowflake
Looker mendukung OAuth untuk koneksi Snowflake, yang berarti setiap pengguna Looker melakukan autentikasi 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
- Menggunakan 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 melalui database secara langsung
Dengan koneksi Snowflake yang menggunakan OAuth, pengguna harus login lagi secara berkala saat masa berlaku token OAuth mereka berakhir. Usia 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 pengguna membiarkan masa berlaku token OAuth-nya habis, jadwal atau pemberitahuan Looker yang mereka miliki 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 otorisasi ulang 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 tidak hanya per kueri. Artinya, Looker akan menggunakan hasil yang di-cache hanya jika pengguna yang sama telah menjalankan kueri yang sama dalam periode penyimpanan cache. Untuk informasi selengkapnya tentang caching, lihat halaman dokumentasi Meng-cache kueri.
- Saat menggunakan OAuth, Anda tidak dapat beralih ke peran lain 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 administrator Looker melakukan sudo sebagai pengguna lain, administrator tersebut akan menggunakan token akses OAuth pengguna tersebut. Saat pengguna mengizinkan koneksi OAuth di Looker, dialog Authorize OAuth Connection akan memberi tahu mereka bahwa pengguna Looker yang memiliki hak istimewa, seperti administrator atau developer, mungkin dapat melihat data mereka. Jika masa berlaku token akses pengguna telah berakhir, administrator tidak dapat membuat token baru atas nama pengguna yang di-sudo. Lihat halaman dokumentasi Pengguna untuk mengetahui informasi tentang cara menggunakan 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>sebagai 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 client ID dan rahasia klien OAuth dengan menjalankan perintah berikut:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('LOOKER');Respons akan memiliki
OAUTH_CLIENT_IDdanOAUTH_CLIENT_SECRETyang akan Anda perlukan nanti dalam prosedur ini.Di Looker, buat koneksi baru ke warehouse 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_IDdanOAUTH_CLIENT_SECRETyang 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 Test di bagian bawah halaman Connections Settings, seperti yang dijelaskan di halaman dokumentasi Menghubungkan Looker ke database Anda.
- Pilih tombol Test di samping listingan koneksi di halaman admin Connections, seperti yang dijelaskan di halaman dokumentasi Connections.
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
connectionmodel dengan nama koneksi Snowflake baru, lalu simpan file model. - Buka salah satu Eksplorasi atau dasbor model, lalu jalankan kueri. Saat Anda mencoba menjalankan kueri, Looker akan meminta Anda untuk login ke Snowflake.
- Ikuti perintah login untuk Snowflake dan masukkan kredensial Snowflake Anda.
Setelah Anda berhasil login ke Snowflake, Looker akan mengembalikan Anda ke kueri. Jika kueri berjalan dengan benar, Anda dapat melakukan commit 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 Explore, 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 Authorize OAuth Connection di Looker yang memberi tahu Anda bahwa mengizinkan koneksi akan memungkinkan instance Looker mengakses data atas nama Anda, dan bahwa pengguna Looker yang memiliki hak istimewa, seperti administrator atau developer, mungkin memiliki visibilitas ke data Anda. Pilih Authorize untuk melanjutkan ke dialog login Snowflake. (Looker menyimpan izin ini di penyimpanan lokal browser Anda; jika Anda menghapus penyimpanan lokal, dialog akan muncul lagi saat Anda memulai alur otorisasi OAuth berikutnya.) Masukkan kredensial Snowflake Anda dan pilih Log In, lalu pilih Allow untuk memberi Looker akses ke akun Snowflake Anda.
Setelah login ke Snowflake melalui Looker, Anda dapat logout atau memberikan otorisasi ulang kredensial Anda kapan saja melalui halaman Akun, seperti yang dijelaskan di halaman dokumentasi Mempersonalisasi akun pengguna Anda.
Komentar konteks untuk koneksi Snowflake
Untuk sebagian besar dialek database, Looker menambahkan komentar konteks SQL ke awal setiap kueri SQL keluar. Untuk koneksi Snowflake, Looker menambahkan komentar konteks ke akhir setiap kueri SQL, bukan di awal, karena Snowflake menghapus komentar di awal.
Untuk mengetahui informasi selengkapnya tentang komentar konteks dan kolom yang disertakan, lihat Komentar konteks untuk kueri SQL.
Parameter JDBC yang didukung
Untuk Snowflake, Looker mendukung parameter JDBC berikut di kolom Additional JDBC parameters untuk koneksi. Lihat dokumentasi database Anda untuk mengetahui informasi tentang parameter ini.
accountallowUnderscoresInHostapplicationauthenticatorAUTOCOMMITCLEAR_BATCH_ONLY_AFTER_SUCCESSFUL_EXECUTIONCLIENT_SESSION_KEEP_ALIVEdbdisableGcsDefaultCredentialsdisableOCSPChecksdisableSamlURLCheckdisableSocksProxyENABLE_WILDCARDS_IN_SHOW_METADATA_COMMANDSenablePatternSearchHTTP_CLIENT_CONNECTION_TIMEOUTHTTP_CLIENT_SOCKET_TIMEOUTIMPLICIT_SERVER_SIDE_QUERY_TIMEOUTinsecureModeJDBC_DEFAULT_FORMAT_DATE_WITH_TIMEZONEJDBC_GET_DATE_USE_NULL_TIMEZONEjdbc_use_session_timezoneJDBC_TREAT_DECIMAL_AS_INTloginTimeoutMAX_TLS_VERSIONmaxHttpRetriesMIN_TLS_VERSIONMULTI_STATEMENT_COUNTnetworkTimeoutnonProxyHosts: Untuk instance Looker publik, nilai untuk parameternonProxyHostsharus berupa alamat IP publik instance.oauthAuthorizationUrl: Untuk instance Looker publik, nilai untuk parameteroauthAuthorizationUrlharus berupa alamat IP publik instance.oauthClientIdoauthClientSecretoauthScopeoauthTokenRequestUrl: Untuk instance Looker publik, nilai untuk parameteroauthTokenRequestUrlharus berupa alamat IP publik instance.ocspFailOpenOWNER_ONLY_STAGE_FILE_PERMISSIONS_ENABLEDpasscodepasscodeInPasswordpasswordprivate_keyprivate_key_base64private_key_pwdprivatekeyproxyHost: Untuk instance Looker publik, nilai untuk parameterproxyHostharus berupa alamat IP publik instance.proxyPasswordproxyPortproxyProtocolproxyUserQUERY_TAGqueryTimeoutQUOTED_IDENTIFIERS_IGNORE_CASEROLEschemaSTATEMENT_QUEUED_TIMEOUT_IN_SECONDSSTATEMENT_TIMEOUT_IN_SECONDSstringsQuotedForColumnDefTIMESTAMP_INPUT_FORMATTIMESTAMP_TYPE_MAPPINGTIMEZONEtokentracinguseProxyuserwarehouseWEEK_OF_YEAR_POLICYWEEK_STARTworkloadIdentityProvider
Dukungan fitur
Agar Looker dapat mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
Snowflake mendukung fitur berikut mulai Looker 26.20:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan berbasis persisten | |
| Tampilan stabil | |
| Penghentian kueri | |
| Pivot berbasis SQL | |
| Zona waktu | |
| SSL | |
| Subtotal | |
| Parameter tambahan JDBC | |
| Peka huruf besar/kecil | |
| Jenis lokasi | |
| Jenis daftar | |
| Persentil | |
| Persentil berbeda | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| SQL Explain | |
| Kredensial OAuth 2.0 | |
| Komentar konteks | |
| Penggabungan koneksi | |
| Sketsa HLL | |
| Aggregate awareness | |
| PDT inkremental | |
| Milidetik | |
| Mikrodetik | |
| Tampilan terwujud | |
| Pengukuran dari periode ke periode | |
| Jumlah perkiraan berbeda | |
| Model analisis dalam database | |
| Kalender kustom |
Langkah berikutnya
Setelah menghubungkan database ke Looker, konfigurasikan opsi login untuk pengguna Anda.