Configurazione di Looker per l'utilizzo di driver JDBC non inclusi nel pacchetto
Per alcuni dei dialetti supportati da Looker, il driver JDBC non può essere pacchettizzato nel file JAR di Looker per motivi legati alle licenze. In questi casi, è necessario installare il driver JDBC sul server Looker, quindi configurare Looker in modo che registri il driver non pacchettizzato, come descritto in questa pagina.
La tabella seguente mostra i dialetti che richiedono installazioni di driver JDBC non inclusi nel pacchetto:
Prerequisiti
Per connettere Looker a un database che richiede un driver JDBC non pacchettizzato, hai bisogno di:
- Accesso da 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, altrimenti supponiamo che tu abbia accesso al file JAR.
- Il Simbolo del driver per il dialetto. Il simbolo del driver è un valore stringa che Looker utilizza internamente per associare il dialetto al driver. Gli esempi in questa pagina utilizzano il valore generico
driver_symbol
. Consulta l'elenco dei simboli dei driver in questa pagina per scoprire 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 ulteriori informazioni, 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, quindi il rientro e la spaziatura sono importanti. - Gli attributi
name
edir_name
devono essere il simbolo del driver che Looker si aspetta 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é promuove la conservazione di più driver isolati nelle proprie directory e riduce la possibilità di conflitti di classi Java. - La proprietà
module_path
dipende dal driver JDBC specifico. Deve essere il percorso completo della classe driver Java. Questo esempio utilizza un valore generico, ma per trovare l'elementomodule_path
specifico che utilizza il 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 che Looker invia al database. Una tipica stringa JDBC avrà il seguente aspetto:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
Dove mysql
è il subprotocollo JDBC utilizzato.
Se specifichi override_jdbc_url_subprotocol: driver_subprotocol
, la stringa JDBC diventerà:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
Questa opzione è necessaria se devi utilizzare un driver JDBC non pacchettizzato che richiede un sottoprotocollo URL diverso dal sottoprotocollo URL predefinito di Looker. Nella maggior parte dei casi, questo non è necessario, a meno che la documentazione del dialetto non dichiari esplicitamente che è necessario. MongoBI è un esempio di dialetto che richiede questa opzione.
Installazione dei driver JDBC non inclusi nel pacchetto
Passa alla directory di base dell'applicazione Looker. Per questo documento supponiamo che sia
looker
cd looker
Crea una directory denominata
custom_jdbc_drivers
. Questa è la directory di primo livello per tutte le installazioni di driver JDBC non pacchettizzate. 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 dialetto. In questo esempio viene utilizzato il valore genericodriver_symbol
. Il percorso della directory creato sarà simile alooker/custom_jdbc_drivers/driver_symbol
cd custom_jdbc_drivers mkdir driver_symbol
Inserisci i file del driver JDBC per il dialetto in questa directory. Il metodo dipende da dove è possibile trovare e caricare sul server il driver del dialetto, ma assicurati che i file JAR pertinenti si trovino all'interno della directory
driver_symbol
:looker/custom_jdbc_drivers/driver_symbol/
Ad esempio:looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar
Lo spostamento dei file necessari sul server Looker varia in base a dove vengono scaricati i file dei driver e alle preferenze per il trasferimento dei file. Esempi di comandi per il trasferimento di file in questa directory sono:
wget
,scp
,curl
e così via.Torna alla directory 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 di cui Looker ha bisogno per individuare e registrare il driver JDBC personalizzato.cd looker vim custom_jdbc_config.yml
Aggiungi una nuova voce per il tuo 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 inizi con la configurazione del driver JDBC non pacchettizzata. Il percorso di questo file deve esserelooker/lookerstart.cfg
. Aggiungi l'opzione--use-custom-jdbc-config
. Se ci sono altre opzioni, aggiungile alla fine delle opzioni di avvio di Looker:LOOKERARGS="--use-custom-jdbc-config"
Se hai impostato
LOOKERARGS
in modo 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, come
./looker
o./looker.sh
./looker restart
o
none ./looker stop ./looker start
Più driver JDBC non inclusi nel pacchetto
Se devi configurare più dialetti per utilizzare i driver JDBC non inclusi nel pacchetto, la procedura descritta sopra continua a essere applicata. La directory custom_jdbc_drivers
avrà più sottodirectory dialect
con le proprie JAR 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