Configurazione di Looker per l'utilizzo di driver JDBC non pacchettizzati
Per alcuni dei dialetti supportati di Looker, il driver JDBC non può essere pacchettizzato nel file JAR di Looker per motivi relativi alla licenza. In questi casi, devi installare il driver JDBC sul server Looker e poi configurare Looker per registrare il driver non incluso nel pacchetto come descritto in questa pagina.
Tutti i dialetti con valore "No" in "Supportato?" richiede l'installazione di driver JDBC non pacchettizzati:
Dialetto | Supportato? |
---|---|
Actian Avalanche | No |
Amazon Athena | Sì |
Amazon Aurora MySQL | Sì |
Amazon Redshift | Sì |
Apache Druid | Sì |
Apache Druid 0.13 o versioni successive | Sì |
Apache Druid 0.18 o versioni successive | Sì |
Apache Hive 2.3 o versioni successive | Sì |
Apache Hive 3.1.2 e versioni successive | Sì |
Apache Spark 3 e versioni successive | Sì |
ClickHouse | Sì |
Cloudera Impala 3.1 o versioni successive | Sì |
Cloudera Impala 3.1 e versioni successive con driver nativo | No |
Cloudera Impala con driver nativo | No |
DataVirtuality | No |
Databricks | Sì |
Denodo 7 | Sì |
Denodo 8 | Sì |
Dremio | Sì |
Dremio 11+ | Sì |
Exasol | Sì |
Firebolt | Sì |
SQL precedente di Google BigQuery | Sì |
SQL standard di Google BigQuery | Sì |
Google Cloud PostgreSQL | Sì |
Google Cloud SQL | Sì |
Google Spanner | Sì |
Greenplum | Sì |
HyperSQL | Sì |
IBM Netezza | Sì |
MariaDB | Sì |
PostgreSQL Microsoft Azure | Sì |
Database SQL di Microsoft Azure | Sì |
Microsoft Azure Synapse Analytics | Sì |
Microsoft SQL Server 2008 e versioni successive | Sì |
Microsoft SQL Server 2012 e versioni successive | Sì |
Microsoft SQL Server 2016 | Sì |
Microsoft SQL Server 2017 e versioni successive | Sì |
MongoBI | No |
MySQL | Sì |
MySQL 8.0.12 e versioni successive | Sì |
Oracle | Sì |
Oracle ADWC | Sì |
PostgreSQL 9.5 e versioni successive | Sì |
PostgreSQL pre-9.5 | Sì |
PrestoDB | Sì |
PrestoSQL | Sì |
SAP HANA 2 o versioni successive | Sì |
SingleStore | Sì |
SingleStore 7+ | Sì |
Snowflake | Sì |
Teradata | No |
Trino | Sì |
Vettoriale | No |
Vertica | Sì |
Prerequisiti
Per connettere Looker a un database che richiede un driver JDBC non incluso nel pacchetto, devi disporre di quanto segue:
- Accesso tramite riga di comando al server Looker.
- Il driver JDBC come file JAR. La documentazione specifica del dialetto potrebbe contenere istruzioni su dove scaricare il file. in caso contrario, si presume che tu abbia accesso al file JAR necessario.
- Il simbolo del conducente per il tuo dialetto. Un simbolo del driver è un valore di stringa utilizzato internamente da Looker per associare il dialetto al driver. Negli esempi in questa pagina viene utilizzato il valore generico
driver_symbol
. Consulta la documentazione di Looker per ogni dialetto per trovare i simboli utilizzati da Looker per registrare i driver JDBC nei dialetti. - La voce del driver YAML per il tuo dialetto da aggiungere al file di configurazione
custom_jdbc_config.yml
. Per saperne di più, consulta la sezione Voci del driver nel file di configurazione YAML in questa pagina.
Voci del driver nel file di configurazione YAML
Ecco un esempio di voce del driver nel 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
Quando scrivi la voce del driver per il tuo dialetto:
- Il file
custom_jdbc_config.yml
è basato su YAML, il che significa che il rientro e la spaziatura sono importanti. - Gli attributi
name
edir_name
devono essere il simbolo del driver utilizzato da Looker per il tuo dialetto durante la registrazione dei driver JDBC. - È possibile utilizzare l'attributo
file_name
anzichédir_name
contenente il percorso relativo dacustom_jdbc_drivers
al file JAR del driver JDBC.dir_name
è consigliato perché consente di mantenere isolati più driver nelle rispettive directory e riduce la possibilità di collisioni tra classi Java. - La proprietà
module_path
dipende dal driver JDBC specifico. Dovrebbe essere il percorso completo della classe driver Java. In questo esempio viene utilizzato un valore generico, ma per trovare lo specificomodule_path
utilizzato dal conducente consulta la relativa documentazione su come registrare la classe del conducente. override_jdbc_url_subprotocol
è un argomento facoltativo utilizzato per eseguire l'override del sottoprotocollo utilizzato nella stringa JDBC inviata da Looker al database. Una tipica stringa JDBC sarà simile alla seguente:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
dove mysql
è il sottoprotocollo JDBC in uso.
Se specifichi override_jdbc_url_subprotocol: driver_subprotocol
, la stringa JDBC diventa:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
Questa opzione è obbligatoria se devi utilizzare un driver JDBC non incluso nel pacchetto che richiede un sottoprotocollo URL diverso da quello predefinito di Looker. Per la maggior parte dei casi, non è necessario, a meno che la documentazione del dialetto non lo indichi esplicitamente. MongoBI è un esempio di dialetto che richiede questa opzione.
Installazione di driver JDBC non inclusi nel pacchetto
Passa alla directory di base dell'applicazione Looker. In questo esempio viene utilizzata
looker
come directory di base.cd looker
Crea una directory denominata
custom_jdbc_drivers
. Si tratta della directory di primo livello per tutte le installazioni di driver JDBC non pacchettizzati. Il percorso di questa directory deve esserelooker/custom_jdbc_drivers
mkdir custom_jdbc_drivers
Nella directory
custom_jdbc_drivers
, crea una sottodirectory denominata con il simbolo del driver del tuo dialetto. In questo esempio viene utilizzato il valore genericodriver_symbol
. Il percorso risultante della directory sarà simile alooker/custom_jdbc_drivers/driver_symbol
cd custom_jdbc_drivers mkdir driver_symbol
Inserisci i file del driver JDBC per il tuo dialetto in questa directory. Il metodo dipende da dove si trova il driver del dialetto e dove è possibile caricarlo sul server, ma assicurati che i file JAR pertinenti siano all'interno della directory
driver_symbol
:looker/custom_jdbc_drivers/driver_symbol/
Ad esempio:
looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar
Il modo in cui sposti i file necessari sul server di Looker varia in base a dove ottieni i file del driver e alle tue preferenze per il trasferimento dei file. Esempi di comandi per il trasferimento di file in questa directory includono
wget
,scp
ecurl
.Cambia la directory in quella dell'applicazione Looker e crea un file di configurazione denominato
custom_jdbc_config.yml
. Il percorso di questo file deve esserelooker/custom_jdbc_config.yml
. Questo file conterrà le informazioni necessarie a Looker per individuare e registrare il driver JDBC personalizzato.cd looker vim custom_jdbc_config.yml
Aggiungi una nuova voce per il dialetto nel file di configurazione
custom_jdbc_config.yml
. Per informazioni sulle voci del driver, consulta la sezione Voci del driver nel file di configurazione YAML in questa pagina.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriver
Crea o aggiorna il file
lookerstart.cfg
in modo che l'applicazione Looker venga avviata con la configurazione del driver JDBC non pacchettizzato. Il percorso di questo file deve esserelooker/lookerstart.cfg
. Aggiungi l'opzione--use-custom-jdbc-config
. Se sono disponibili altre opzioni, aggiungila alla fine delle opzioni di avvio di Looker:LOOKERARGS="--use-custom-jdbc-config"
Se hai impostato
LOOKERARGS
in un luogo diverso dalookerstart.cfg
, ad esempio in una variabile di ambiente, puoi aggiungere questo flag di avvio. In alternativa, puoi impostareLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"
in modo che i valori esistenti vengano espansi in questo file.Riavvia l'applicazione Looker. In questo comando, utilizza il nome dello script di avvio di Looker, ad esempio
./looker
o./looker.sh
./looker restart
o
none ./looker stop ./looker start
Più driver JDBC non pacchettizzati
Se devi configurare più di un dialetto per utilizzare i driver JDBC non inclusi nel pacchetto, si applica comunque la procedura descritta nella sezione Installazione di driver JDBC non inclusi nel pacchetto. La directory custom_jdbc_drivers
avrà più sottodirectory dialect
con i propri file JAR del driver e il file custom_jdbc_config.yml
avrà più voci:
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