Driver JDBC non pacchettizzati

robots: noindex

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 alle licenze. In questi casi, devi installare il driver JDBC sul tuo server Looker, quindi configurare Looker in modo che registri il driver non pacchettizzato come descritto in questa pagina.

La seguente tabella mostra i dialetti che richiedono installazioni di driver JDBC non pacchettizzati:

Prerequisiti

Per connettere Looker a un database che richiede un driver JDBC non pacchettizzato, hai bisogno di:

  • Accesso tramite riga di comando al server Looker.
  • Il driver JDBC come file JAR. La documentazione specifica del dialetto può contenere istruzioni su dove scaricare il file, altrimenti si presume che tu abbia accesso al file JAR necessario.
  • Il Simbolo del conducente 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. In questa pagina consulta l'elenco dei simboli dei driver per i simboli utilizzati da Looker per registrare i driver JDBC ai 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 conducente 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 conducente 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 e dir_name devono essere il Simbolo di driver che Looker si aspetta per il dialetto durante la registrazione dei driver JDBC.
  • È possibile utilizzare l'attributo file_name invece di dir_name contenente il percorso relativo da custom_jdbc_drivers al file JAR del driver JDBC. dir_name è consigliato perché promuove la conservazione di più driver isolati alle proprie directory e riduce la possibilità di conflitti tra le classi Java.
  • La proprietà module_path dipende dal driver JDBC specifico. Dovrebbe essere il percorso completo della classe driver Java. Questo esempio utilizza un valore generico, ma per trovare l'elemento module_path specifico utilizzato dal conducente consulta la relativa documentazione su come registrare la classe del conducente.
  • override_jdbc_url_subprotocol è un argomento facoltativo usato per eseguire l'override del sottoprotocollo utilizzato nella stringa JDBC che Looker invia al database. Una tipica stringa JDBC sarà simile a questa:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]

Dove mysql è il sottoprotocollo JDBC utilizzato.

Se specifichi override_jdbc_url_subprotocol: driver_subprotocol, questa stringa JDBC diventerà:

jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]

Questa opzione è obbligatoria se devi utilizzare un driver JDBC non pacchettizzato che richiede un sottoprotocollo URL diverso da quello predefinito di Looker. Nella maggior parte dei casi, ciò non è necessario, a meno che la documentazione del dialetto non indichi esplicitamente che sia necessario. MongoBI è un esempio di dialetto che richiede questa opzione.

Installazione dei driver JDBC non pacchettizzati

  1. Passa alla directory di base dell'applicazione Looker. Per questo documento si presume che sia looker

    cd looker
    
  2. 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 essere looker/custom_jdbc_drivers

    mkdir custom_jdbc_drivers
    
  3. Nella directory custom_jdbc_drivers, crea una sottodirectory denominata con il Simbolo del driver del tuo dialetto. In questo esempio viene utilizzato il valore generico driver_symbol. Il percorso della directory risultante sarà simile a looker/custom_jdbc_drivers/driver_symbol

    cd custom_jdbc_drivers
    mkdir driver_symbol
    

  4. Inserisci i file del driver JDBC per il tuo dialetto in questa directory. Il metodo dipende da dove può essere trovato e caricato sul server il driver del tuo 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 al percorso in cui vengono scaricati i file dei driver e alla preferenza per il trasferimento dei file. Esempi di comandi per il trasferimento di file in questa directory sono wget, scp, curl e così via.

  5. Torna alla directory dell'applicazione Looker e crea un file di configurazione denominato custom_jdbc_config.yml. Il percorso di questo file deve essere looker/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
    
  6. Aggiungi una nuova voce per il tuo dialetto al file di configurazione custom_jdbc_config.yml. Per informazioni sulle voci dei 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
    
  7. 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 essere looker/lookerstart.cfg. Aggiungi l'opzione --use-custom-jdbc-config. Se sono presenti altre opzioni, aggiungile alla fine delle opzioni di avvio di Looker:

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

    Se hai impostato LOOKERARGS in modo diverso da lookerstart.cfg, ad esempio in una variabile di ambiente, puoi aggiungere questo flag di avvio. In alternativa, puoi impostare LOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config" in modo che i valori esistenti vengano espansi in questo file.

  8. 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ù dialetti per l'utilizzo dei driver JDBC non pacchettizzati, continuerà a essere applicata la procedura descritta in precedenza. La directory custom_jdbc_drivers avrà più sottodirectory dialect con le proprie 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