Mengonfigurasi Looker untuk menggunakan driver JDBC yang tidak dikemas.
Untuk beberapa dialek Looker yang didukung, driver JDBC tidak dapat dikemas dalam file JAR Looker karena alasan terkait lisensi. Dalam kasus ini, Anda harus menginstal driver JDBC pada server Looker Anda dan kemudian mengkonfigurasi Looker untuk mendaftarkan driver yang belum dikemas seperti yang dijelaskan pada halaman ini.
Semua dialek dengan nilai "Tidak" pada bagian "Didukung?" memerlukan instalasi driver JDBC yang tidak dikemas:
| Dialek | Didukung? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
Prasyarat
Untuk menghubungkan Looker ke basis data yang membutuhkan driver JDBC yang belum dikemas, Anda memerlukan hal-hal berikut:
- Akses baris perintah ke server Looker Anda.
- Driver JDBC sebagai file JAR. Dokumentasi khusus dialek tersebut mungkin memiliki petunjuk tentang tempat mengunduh file ini; jika tidak, diasumsikan bahwa Anda memiliki akses ke file JAR yang dibutuhkan.
- Simbol pengemudi untuk dialek Anda. Simbol driver adalah nilai string yang digunakan Looker secara internal untuk mencocokkan dialek dengan driver. Contoh-contoh pada halaman ini menggunakan nilai generik
driver_symbol. Lihat dokumentasi Looker untuk setiap dialek untuk mengetahui simbol-simbol yang digunakan Looker untuk mendaftarkan driver JDBC ke dialek tersebut. - YAMLpintu masuk pengemudi agar dialek Anda ditambahkan ke dalam
custom_jdbc_config.ymlberkas konfigurasi. Lihat bagian Entri Driver dalam berkas konfigurasi YAML pada halaman ini untuk informasi selengkapnya.
Entri driver dalam file konfigurasi YAML
Berikut contoh entri driver dalam 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 pengemudi untuk dialek Anda:
- File
custom_jdbc_config.ymlberbasis YAML, yang berarti indentasi dan spasi sangat penting. - Atribut
namedandir_nameharus berupa simbol driver yang digunakan Looker untuk dialek Anda saat mendaftarkan driver JDBC. - Dimungkinkan untuk menggunakan atribut
file_namesebagai penggantidir_nameyang berisi jalur relatif daricustom_jdbc_driverske file JAR driver JDBC.dir_namedirekomendasikan karena mendorong agar beberapa driver diisolasi ke direktori masing-masing dan mengurangi kemungkinan terjadinya bentrokan antar kelas Java. - Properti
module_pathakan bergantung pada driver JDBC tertentu. Ini seharusnya merupakan jalur lengkap ke kelas driver Java . Contoh ini menggunakan nilai generik, tetapi untuk menemukanmodule_pathspesifik yang digunakan oleh driver, lihat dokumentasinya tentang cara mendaftarkan kelas driver. override_jdbc_url_subprotocoladalah argumen opsional yang digunakan untuk mengganti subprotokol yang digunakan dalam string JDBC yang dikirim Looker ke basis data. String JDBC pada umumnya akan terlihat seperti ini:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
Di mana mysql adalah subprotokol JDBC yang digunakan.
Jika Anda menentukan override_jdbc_url_subprotocol: driver_subprotocol, maka 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. Pada umumnya, ini tidak diperlukan kecuali dokumentasi dialek tersebut secara eksplisit menyatakan bahwa hal itu diperlukan. MongoBI adalah contoh dialek yang memerlukan opsi ini.
Menginstal driver JDBC yang belum dikemas.
Ubah ke direktori dasar aplikasi Looker. Contoh ini menggunakan
lookersebagai direktori dasar.cd lookerBuat direktori bernama
custom_jdbc_drivers. Ini adalah direktori tingkat atas untuk semua instalasi driver JDBC yang belum dikemas. Jalur ke direktori ini seharusnyalooker/custom_jdbc_driversmkdir custom_jdbc_driversDi dalam direktori
custom_jdbc_drivers, buat subdirektori yang diberi nama dengan simbol penggerak dialek Anda. Contoh ini menggunakan nilai generikdriver_symbol. Jalur yang dihasilkan ke direktori akan terlihat sepertilooker/custom_jdbc_drivers/driver_symbolcd custom_jdbc_drivers mkdir driver_symbolLetakkan file driver JDBC untuk dialek Anda ke dalam direktori ini. Metode untuk ini bergantung pada di mana driver dialek Anda dapat ditemukan dan diunggah ke server, tetapi pastikan bahwa file JAR yang relevan berada di dalam direktori
driver_symbol:looker/custom_jdbc_drivers/driver_symbol/Contoh:
looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jarCara memindahkan file-file yang diperlukan ke server Looker akan bervariasi tergantung dari mana Anda mendapatkan file driver dan preferensi Anda untuk transfer file. Contoh perintah untuk memindahkan file ke direktori ini termasuk
wget,scp, dancurl.Ubah direktori ke direktori aplikasi Looker, dan buat file konfigurasi bernama
custom_jdbc_config.yml. Jalur menuju file ini seharusnyalooker/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.ymlTambahkan entri baru untuk dialek Anda ke dalam file konfigurasi
custom_jdbc_config.yml. Lihat bagian Entri driver dalam file konfigurasi YAML pada halaman ini untuk informasi tentang entri driver.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriverBuat atau perbarui file
lookerstart.cfgagar aplikasi Looker dapat dijalankan dengan konfigurasi driver JDBC yang belum dikemas. Jalur menuju file ini seharusnyalooker/lookerstart.cfg. Tambahkan opsi--use-custom-jdbc-config. Jika ada opsi lain, tambahkan ini di akhir opsi startup Looker:LOOKERARGS="--use-custom-jdbc-config"Jika Anda telah menetapkan
LOOKERARGSdi tempat lain selainlookerstart.cfg, misalnya dalam variabel lingkungan, Anda dapat menambahkan flag startup ini di sana. Alternatifnya, Anda dapat mengaturLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"sehingga nilai yang ada akan diekspansi ke dalam file ini.Restart aplikasi Looker. Dalam perintah ini, gunakan nama skrip startup Looker Anda, seperti
./lookeratau./looker.sh./looker restartatau
none ./looker stop ./looker start
Beberapa driver JDBC yang belum dikemas
Jika Anda perlu mengkonfigurasi lebih dari satu dialek untuk menggunakan driver JDBC yang tidak dikemas, proses yang dijelaskan di bagian Menginstal driver JDBC yang tidak dikemas masih berlaku. Direktori custom_jdbc_drivers akan memiliki beberapa subdirektori dialect dengan JAR driver masing-masing, 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