Mengonfigurasi Looker untuk menggunakan driver JDBC yang tidak dipaketkan
Untuk beberapa dialek yang didukung Looker, driver JDBC tidak dapat dikemas dalam file JAR Looker karena alasan terkait lisensi. Dalam kasus ini, Anda harus menginstal driver JDBC di server Looker, lalu mengonfigurasi Looker untuk mendaftarkan driver yang tidak dikemas seperti yang dijelaskan di halaman ini.
Semua dialek dengan nilai "Tidak" di bagian "Didukung?" memerlukan penginstalan driver JDBC yang tidak dikemas:
Dialek | Didukung? |
---|---|
Actian Avalanche | Tidak |
Amazon Athena | Ya |
Amazon Aurora MySQL | Ya |
Amazon Redshift | Ya |
Amazon Redshift 2.1+ | Ya |
Amazon Redshift Serverless 2.1+ | Ya |
Apache Druid | Ya |
Apache Druid 0.13+ | Ya |
Apache Druid 0.18+ | Ya |
Apache Hive 2.3+ | Ya |
Apache Hive 3.1.2+ | Ya |
Apache Spark 3+ | Ya |
ClickHouse | Ya |
Cloudera Impala 3.1+ | Ya |
Cloudera Impala 3.1+ with Native Driver | Tidak |
Cloudera Impala with Native Driver | Tidak |
DataVirtuality | Tidak |
Databricks | Ya |
Denodo 7 | Ya |
Denodo 8 & 9 | Ya |
Dremio | Ya |
Dremio 11+ | Ya |
Exasol | Ya |
Google BigQuery Legacy SQL | Ya |
Google BigQuery Standard SQL | Ya |
Google Cloud PostgreSQL | Ya |
Google Cloud SQL | Ya |
Google Spanner | Ya |
Greenplum | Ya |
HyperSQL | Ya |
IBM Netezza | Ya |
MariaDB | Ya |
Microsoft Azure PostgreSQL | Ya |
Microsoft Azure SQL Database | Ya |
Microsoft Azure Synapse Analytics | Ya |
Microsoft SQL Server 2008+ | Ya |
Microsoft SQL Server 2012+ | Ya |
Microsoft SQL Server 2016 | Ya |
Microsoft SQL Server 2017+ | Ya |
MongoBI | Tidak |
MySQL | Ya |
MySQL 8.0.12+ | Ya |
Oracle | Ya |
Oracle ADWC | Ya |
PostgreSQL 9.5+ | Ya |
PostgreSQL pre-9.5 | Ya |
PrestoDB | Ya |
PrestoSQL | Ya |
SAP HANA | Ya |
SAP HANA 2+ | Ya |
SingleStore | Ya |
SingleStore 7+ | Ya |
Snowflake | Ya |
Teradata | Tidak |
Trino | Ya |
Vector | Tidak |
Vertica | Ya |
Prasyarat
Untuk menghubungkan Looker ke database yang memerlukan driver JDBC yang tidak dipaketkan, Anda memerlukan hal berikut:
- Akses command line ke server Looker Anda.
- Driver JDBC sebagai file JAR. Dokumentasi khusus dialek mungkin memiliki petunjuk tentang tempat mendownload file ini; jika tidak, diasumsikan bahwa Anda memiliki akses ke file JAR yang diperlukan.
- Simbol pengemudi untuk dialek Anda. Simbol driver adalah nilai string yang digunakan Looker secara internal untuk mencocokkan dialek dengan driver. Contoh di halaman ini menggunakan nilai generik
driver_symbol
. Lihat dokumentasi Looker untuk setiap dialek terkait simbol yang digunakan Looker untuk mendaftarkan driver JDBC ke dialek. - Entri driver YAML untuk dialek Anda yang akan ditambahkan ke file konfigurasi
custom_jdbc_config.yml
. Lihat bagian Entri driver dalam file konfigurasi YAML di halaman ini untuk mengetahui informasi selengkapnya.
Entri driver dalam file konfigurasi YAML
Berikut adalah contoh entri driver di file custom_jdbc_config.yml
:
- name: driver_symbol
dir_name: driver_symbol
module_path: com.dialect.jdbc.DialectDriver
override_jdbc_url_subprotocol: driver_subprotocol # optional
Saat menulis entri driver untuk dialek Anda:
- File
custom_jdbc_config.yml
berbasis YAML, yang berarti indentasi dan penspasian penting. - Atribut
name
dandir_name
harus berupa simbol driver yang digunakan Looker untuk dialek Anda saat mendaftarkan driver JDBC. - Anda dapat menggunakan atribut
file_name
, bukandir_name
yang berisi jalur relatif daricustom_jdbc_drivers
ke file JAR driver JDBC.dir_name
direkomendasikan karena mendorong agar beberapa driver tetap terisolasi di direktori masing-masing dan mengurangi kemungkinan terjadinya konflik pada class Java. - Properti
module_path
akan bergantung pada driver JDBC tertentu. Ini harus berupa jalur yang sepenuhnya memenuhi syarat ke class driver Java. Contoh ini menggunakan nilai generik, tetapi untuk menemukanmodule_path
spesifik yang digunakan driver, lihat dokumentasinya tentang cara mendaftarkan class driver. override_jdbc_url_subprotocol
adalah argumen opsional yang digunakan untuk mengganti subprotokol yang digunakan dalam string JDBC yang dikirim Looker ke database. String JDBC standar akan terlihat seperti ini:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
Dengan mysql
adalah subprotokol JDBC yang digunakan.
Jika Anda menentukan override_jdbc_url_subprotocol: driver_subprotocol
, string JDBC ini akan menjadi:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
Opsi ini diperlukan jika Anda perlu menggunakan driver JDBC yang tidak dikemas yang memerlukan subprotokol URL selain subprotokol URL default Looker. Sebagian besar, hal ini tidak diperlukan kecuali jika dokumentasi dialek secara eksplisit menyatakan bahwa hal ini diperlukan. MongoBI adalah contoh dialek yang memerlukan opsi ini.
Menginstal driver JDBC yang tidak dikemas
Ubah ke direktori dasar aplikasi Looker. Contoh ini menggunakan
looker
sebagai direktori dasar.cd looker
Buat direktori bernama
custom_jdbc_drivers
. Ini adalah direktori tingkat teratas untuk semua penginstalan driver JDBC yang tidak dikemas. Jalur ke direktori ini harus berupalooker/custom_jdbc_drivers
mkdir custom_jdbc_drivers
Di direktori
custom_jdbc_drivers
, buat subdirektori yang dinamai dengan simbol pengemudi dialek Anda. Contoh ini menggunakan nilai generikdriver_symbol
. Jalur yang dihasilkan ke direktori akan terlihat sepertilooker/custom_jdbc_drivers/driver_symbol
cd custom_jdbc_drivers mkdir driver_symbol
Tempatkan file driver JDBC untuk dialek Anda ke dalam direktori ini. Metode untuk hal ini bergantung pada lokasi driver dialek Anda dapat ditemukan dan diupload ke server, tetapi pastikan file JAR yang relevan berada di dalam direktori
driver_symbol
:looker/custom_jdbc_drivers/driver_symbol/
Contoh:
looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar
Cara Anda memindahkan file yang diperlukan ke server Looker akan bervariasi berdasarkan tempat Anda mendapatkan file driver dan preferensi Anda untuk transfer file. Contoh perintah untuk mentransfer file ke direktori ini mencakup
wget
,scp
, dancurl
.Ubah direktori ke direktori aplikasi Looker, lalu buat file konfigurasi bernama
custom_jdbc_config.yml
. Jalur ke file ini haruslooker/custom_jdbc_config.yml
. File ini akan berisi informasi yang dibutuhkan Looker untuk menemukan dan mendaftarkan driver JDBC kustom.cd looker vim custom_jdbc_config.yml
Tambahkan entri baru untuk dialek Anda ke file konfigurasi
custom_jdbc_config.yml
. Lihat bagian Entri driver dalam file konfigurasi YAML di halaman ini untuk mengetahui informasi tentang entri driver.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriver
Buat atau perbarui file
lookerstart.cfg
sehingga aplikasi Looker dimulai dengan konfigurasi driver JDBC yang tidak dipaketkan. Jalur ke file ini haruslooker/lookerstart.cfg
. Tambahkan opsi--use-custom-jdbc-config
. Jika ada opsi lain, tambahkan ini ke akhir opsi startup Looker:LOOKERARGS="--use-custom-jdbc-config"
Jika Anda telah menetapkan
LOOKERARGS
di tempat selainlookerstart.cfg
, seperti di variabel lingkungan, Anda dapat menambahkan tanda peluncuran ini di sana. Atau, Anda dapat menetapkanLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"
sehingga nilai yang ada akan diperluas ke dalam file ini.Mulai ulang aplikasi Looker. Dalam perintah ini, gunakan nama skrip startup Looker Anda, seperti
./looker
atau./looker.sh
./looker restart
atau
none ./looker stop ./looker start
Beberapa driver JDBC yang tidak dipaketkan
Jika Anda perlu mengonfigurasi lebih dari satu dialek untuk menggunakan driver JDBC yang tidak dikemas, proses yang dijelaskan di bagian Menginstal driver JDBC yang tidak dikemas tetap berlaku. Direktori custom_jdbc_drivers
akan memiliki beberapa subdirektori dialect
dengan JAR drivernya sendiri, dan file custom_jdbc_config.yml
akan memiliki beberapa entri:
ls looker/custom_jdbc_drivers
driver_symbol_1 driver_symbol_2
ls looker/custom_jdbc_drivers/driver_symbol_1
Dialect1Driver.jar
- name: driver_symbol_1
dir_name: driver_symbol_1
module_path: com.dialect.jdbc.Dialect1Driver
- name: driver_symbol_2
dir_name: driver_symbol_2
module_path: com.dialect.jdbc.Dialect2Driver