Driver JDBC yang tidak dipaketkan

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 dalamcustom_jdbc_config.yml berkas 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.yml berbasis YAML, yang berarti indentasi dan spasi sangat penting.
  • Atribut name dan dir_name harus berupa simbol driver yang digunakan Looker untuk dialek Anda saat mendaftarkan driver JDBC.
  • Dimungkinkan untuk menggunakan atribut file_name sebagai pengganti dir_name yang berisi jalur relatif dari custom_jdbc_drivers ke file JAR driver JDBC. dir_name direkomendasikan karena mendorong agar beberapa driver diisolasi ke direktori masing-masing dan mengurangi kemungkinan terjadinya bentrokan antar kelas Java.
  • Properti module_path akan bergantung pada driver JDBC tertentu. Ini seharusnya merupakan jalur lengkap ke kelas driver Java . Contoh ini menggunakan nilai generik, tetapi untuk menemukan module_path spesifik yang digunakan oleh driver, lihat dokumentasinya tentang cara mendaftarkan kelas driver.
  • override_jdbc_url_subprotocol adalah 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.

  1. Ubah ke direktori dasar aplikasi Looker. Contoh ini menggunakan looker sebagai direktori dasar.

    cd looker
    
  2. Buat direktori bernama custom_jdbc_drivers. Ini adalah direktori tingkat atas untuk semua instalasi driver JDBC yang belum dikemas. Jalur ke direktori ini seharusnya looker/custom_jdbc_drivers

    mkdir custom_jdbc_drivers
    
  3. Di dalam direktori custom_jdbc_drivers, buat subdirektori yang diberi nama dengan simbol penggerak dialek Anda. Contoh ini menggunakan nilai generik driver_symbol. Jalur yang dihasilkan ke direktori akan terlihat seperti looker/custom_jdbc_drivers/driver_symbol

    cd custom_jdbc_drivers
    mkdir driver_symbol
    

  4. Letakkan 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.jar

    Cara 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, dan curl.

  5. Ubah direktori ke direktori aplikasi Looker, dan buat file konfigurasi bernama custom_jdbc_config.yml. Jalur menuju file ini seharusnya looker/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
    
  6. Tambahkan 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.DialectDriver
    
  7. Buat atau perbarui filelookerstart.cfg agar aplikasi Looker dapat dijalankan dengan konfigurasi driver JDBC yang belum dikemas. Jalur menuju file ini seharusnya looker/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 LOOKERARGS di tempat lain selain lookerstart.cfg, misalnya dalam variabel lingkungan, Anda dapat menambahkan flag startup ini di sana. Alternatifnya, Anda dapat mengatur LOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config" sehingga nilai yang ada akan diekspansi ke dalam file ini.

  8. Restart 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 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