Driver JDBC yang tidak dikemas

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 pemberian lisensi. Dalam hal 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" pada bagian "Didukung?" memerlukan penginstalan driver JDBC yang tidak dikemas:

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 dan yang lebih baru
Ya
Apache Hive 3.1.2+
Ya
Apache Spark 3+
Ya
ClickHouse
Ya
Cloudera Impala 3.1+
Ya
Cloudera Impala 3.1+ dengan Native Driver
Tidak
Cloudera Impala dengan Native Driver
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
PostgreSQL Google Cloud
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 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:

  • Akses command line ke server Looker Anda.
  • Driver JDBC sebagai file JAR. Dokumentasi khusus dialek mungkin berisi petunjuk tentang tempat mendownload file ini; jika tidak, kami menganggap 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 daftar simbol driver di halaman ini 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 informasi selengkapnya.

Entri driver dalam file konfigurasi YAML

Berikut adalah contoh entri pengemudi 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 untuk diperhatikan.
  • Atribut name dan dir_name harus berupa simbol pengemudi yang diharapkan Looker untuk dialek Anda saat mendaftarkan driver JDBC.
  • Anda dapat menggunakan atribut file_name alih-alih dir_name yang berisi jalur relatif dari custom_jdbc_drivers ke file JAR driver JDBC. dir_name direkomendasikan karena mempromosikan menjaga beberapa driver tetap terisolasi ke direktorinya sendiri dan mengurangi kemungkinan benturan class Java.
  • Properti module_path akan bergantung pada driver JDBC tertentu. Jalur tersebut harus menjadi jalur yang sepenuhnya memenuhi syarat ke class driver Java. Contoh ini menggunakan nilai generik, tetapi untuk menemukan module_path tertentu yang digunakan driver, baca dokumentasinya 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 dikemas yang memerlukan subprotokol URL selain subprotokol URL default Looker. Biasanya, hal ini tidak diperlukan kecuali jika dokumentasi dialek secara eksplisit menyatakan bahwa hal itu perlu. MongoBI adalah contoh dialek yang memerlukan opsi ini.

Menginstal driver JDBC yang tidak dikemas

  1. Ubah ke direktori dasar aplikasi Looker. Untuk dokumen ini, kami akan menganggapnya sebagai looker

    cd looker
    
  2. Buat direktori bernama custom_jdbc_drivers. Ini adalah direktori tingkat atas untuk semua instalasi {i>driver<i} JDBC yang tidak dikemas. Jalur ke direktori ini seharusnya looker/custom_jdbc_drivers

    mkdir custom_jdbc_drivers
    
  3. Dalam direktori custom_jdbc_drivers, buat subdirektori yang diberi nama dengan simbol pengemudi 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. Masukkan file {i>driver<i} JDBC untuk dialek Anda ke dalam direktori ini. Metodenya bergantung pada lokasi driver dialek Anda dapat ditemukan dan diupload ke server. Namun, pastikan file JAR yang relevan berada dalam direktori driver_symbol: looker/custom_jdbc_drivers/driver_symbol/

    Contoh: looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar

    Memindahkan file yang diperlukan ke server Looker akan bervariasi berdasarkan tempat Anda mendapatkan file driver dan preferensi transfer file. Contoh perintah untuk mentransfer file ke direktori ini adalah wget, scp, curl, dll.

  5. Kembali ke direktori aplikasi Looker dan buat file konfigurasi dengan nama 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 mendapatkan informasi tentang entri driver.

    - name: driver_symbol
      dir_name: driver_symbol
      module_path: com.dialect.jdbc.DialectDriver
    
  7. Buat atau update file lookerstart.cfg agar 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 opsi ini ke bagian akhir opsi startup Looker:

    LOOKERARGS="--use-custom-jdbc-config"
    

    Jika LOOKERARGS ditetapkan di tempat selain lookerstart.cfg, seperti di variabel lingkungan, Anda dapat menambahkan flag startup ini di sana. Atau, Anda dapat menyetel LOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config" sehingga nilai yang ada akan diperluas ke 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 dikemas

Jika Anda perlu mengonfigurasi lebih dari satu dialek untuk menggunakan driver JDBC yang tidak dikemas, proses di atas 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