Driver JDBC yang tidak dipaketkan

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 dan dir_name harus berupa simbol driver yang digunakan Looker untuk dialek Anda saat mendaftarkan driver JDBC.
  • Anda dapat menggunakan atribut file_name, bukan dir_name, yang berisi jalur relatif dari custom_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 menemukan module_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

  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 teratas untuk semua penginstalan driver JDBC yang tidak dipaketkan. Jalur ke direktori ini harus looker/custom_jdbc_drivers

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

    cd custom_jdbc_drivers
    mkdir driver_symbol
    

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

  5. Ubah direktori ke direktori aplikasi Looker, dan buat file konfigurasi bernama custom_jdbc_config.yml. Jalur ke file ini harus looker/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
    
  6. 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
    
  7. Buat atau perbarui file lookerstart.cfg sehingga aplikasi Looker dimulai dengan konfigurasi driver JDBC yang tidak dipaketkan. Jalur ke file ini harus looker/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 selain lookerstart.cfg, seperti di variabel lingkungan, Anda dapat menambahkan tanda startup ini di sana. Atau, Anda dapat menetapkan LOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config" sehingga nilai yang ada akan diperluas ke dalam file ini.

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