Mengonfigurasi Looker untuk menggunakan driver JDBC yang tidak dipaketkan
Untuk beberapa dialek yang didukung Looker, driver JDBC tidak dapat dipaketkan dalam file JAR Looker karena alasan terkait pemberian lisensi. Dalam hal ini, Anda harus menginstal driver JDBC di server Looker, lalu mengonfigurasi Looker untuk mendaftarkan driver yang tidak dipaketkan seperti yang dijelaskan di halaman ini.
Semua dialek dengan nilai "Tidak" di bagian "Didukung?" memerlukan penginstalan driver JDBC yang tidak dipaketkan:
Dialek | Didukung? |
---|---|
Actian Avalanche | Tidak |
Amazon Athena | Ya |
Amazon Aurora MySQL | Ya |
Amazon Redshift | 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+ dengan Driver Native | Tidak |
Cloudera Impala dengan Driver Native | Tidak |
DataVirtuality | Tidak |
Databricks | Ya |
Denodo 7 | Ya |
Denodo 8 | Ya |
Dremio | Ya |
Dremio 11+ | Ya |
Exasol | Ya |
Firebolt | Ya |
Legacy SQL Google BigQuery | Ya |
SQL Standar Google BigQuery | 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 versi pra-9.5 | Ya |
PrestoDB | Ya |
PrestoSQL | Ya |
SAP HANA 2+ | Ya |
SingleStore | Ya |
SingleStore 7+ | Ya |
Snowflake | Ya |
Teradata | Tidak |
Trino | Ya |
Vektor | 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 spesifik dialek mungkin memiliki petunjuk tentang tempat mendownload file ini; jika tidak, Anda diasumsikan memiliki akses ke file JAR yang diperlukan.
- Simbol driver 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 untuk mengetahui 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 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 driver untuk dialek Anda:
- File
custom_jdbc_config.yml
berbasis YAML, yang berarti indentasi dan spasi 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 beberapa driver tetap terisolasi ke direktorinya sendiri dan mengurangi kemungkinan class Java bertabrakan. - 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
tertentu yang digunakan driver, lihat dokumentasi tentang cara register 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 dipaketkan yang memerlukan subprotokol URL selain subprotokol URL default Looker. Pada umumnya, hal ini tidak diperlukan kecuali jika dokumentasi dialek secara eksplisit menyatakan bahwa hal itu diperlukan. MongoBI adalah contoh dialek yang memerlukan opsi ini.
Menginstal driver JDBC yang tidak dipaketkan
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 dipaketkan. Jalur ke direktori ini haruslooker/custom_jdbc_drivers
mkdir custom_jdbc_drivers
Di direktori
custom_jdbc_drivers
, buat subdirektori yang diberi nama dengan simbol driver dialek Anda. Contoh ini menggunakan nilai umumdriver_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 direktori ini. Metode untuk ini bergantung pada tempat 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 mentransfer file. Contoh perintah untuk mentransfer file ke direktori ini meliputi
wget
,scp
, dancurl
.Ubah direktori ke direktori aplikasi Looker, dan buat file konfigurasi bernama
custom_jdbc_config.yml
. Jalur ke file ini haruslooker/custom_jdbc_config.yml
. File ini akan berisi informasi yang diperlukan Looker untuk menemukan dan mendaftarkan driver JDBC kustom.cd looker vim custom_jdbc_config.yml
Tambahkan entri baru untuk dialek Anda ke dalam 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 startup 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 dipaketkan, proses yang dijelaskan di bagian Menginstal driver JDBC yang tidak dipaketkan masih berlaku. Direktori custom_jdbc_drivers
akan memiliki beberapa subdirektori dialect
dengan JAR driver-nya 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