Configuration de Looker pour utiliser des pilotes JDBC non empaquetés
Pour certains dialectes compatibles avec Looker, le pilote JDBC ne peut pas être empaqueté dans le fichier JAR de Looker pour des raisons de licences. Dans ce cas, vous devez installer le pilote JDBC sur votre serveur Looker, puis configurer Looker pour enregistrer le pilote décompressé, comme décrit sur cette page.
Tous les dialectes dont la valeur est "No" sous "Compatible ?" nécessitent l'installation de pilotes JDBC décompressés:
Dialecte | Compatible ? |
---|---|
Actian Avalanche | Non |
Amazon Athena | Oui |
Amazon Aurora MySQL | Oui |
Amazon Redshift | Oui |
Apache Druid | Oui |
Apache Druid 0.13 et versions ultérieures | Oui |
Apache Druid 0.18 et versions ultérieures | Oui |
Apache Hive 2.3 et versions ultérieures | Oui |
Apache Hive 3.1.2+ | Oui |
Apache Spark 3 ou version ultérieure | Oui |
ClickHouse | Oui |
Cloudera Impala 3.1 ou version ultérieure | Oui |
Cloudera Impala 3.1 ou version ultérieure avec pilote natif | Non |
Cloudera Impala avec pilote natif | Non |
DataVirtuality | Non |
Databricks | Oui |
Denodo 7 | Oui |
Denodo 8 | Oui |
Dremio | Oui |
Dremio 11 et versions ultérieures | Oui |
Exasol | Oui |
Boulon | Oui |
Ancien SQL de Google BigQuery | Oui |
SQL standard Google BigQuery | Oui |
Google Cloud PostgreSQL | Oui |
Google Cloud SQL | Oui |
Google Spanner | Oui |
Greenplum | Oui |
HyperSQL | Oui |
IBM Netezza | Oui |
MariaDB | Oui |
Microsoft Azure PostgreSQL | Oui |
Base de données Microsoft Azure SQL | Oui |
Microsoft Azure Synapse Analytics | Oui |
Microsoft SQL Server 2008 ou version ultérieure | Oui |
Microsoft SQL Server 2012 ou version ultérieure | Oui |
Microsoft SQL Server 2016 | Oui |
Microsoft SQL Server 2017 ou version ultérieure | Oui |
MongoBI | Non |
MySQL | Oui |
MySQL 8.0.12 et versions ultérieures | Oui |
Oracle | Oui |
Oracle ADWC | Oui |
PostgreSQL 9.5 ou version ultérieure | Oui |
PostgreSQL antérieur à la version 9.5 | Oui |
PrestoDB | Oui |
PrestoSQL | Oui |
SAP HANA 2+ | Oui |
SingleStore | Oui |
SingleStore 7+ | Oui |
Snowflake | Oui |
Teradata | Non |
Trino | Oui |
Vecteur | Non |
Vertica | Oui |
Prérequis
Pour connecter Looker à une base de données nécessitant un pilote JDBC décompressé, vous avez besoin de ce qui suit:
- Accès en ligne de commande à votre serveur Looker.
- Le pilote JDBC sous forme de fichier JAR. La documentation spécifique au dialecte peut contenir des instructions indiquant où télécharger ce fichier ; sinon, nous supposons que vous avez accès au fichier JAR nécessaire.
- Le symbole de conducteur pour votre dialecte. Un symbole de pilote est une valeur de chaîne que Looker utilise en interne pour faire correspondre le dialecte au pilote. Les exemples de cette page utilisent la valeur générique
driver_symbol
. Consultez la liste des symboles de pilotes sur cette page pour connaître les symboles que Looker utilise pour enregistrer les pilotes JDBC dans les dialectes. - L'entrée de pilote YAML pour votre dialecte à ajouter au fichier de configuration
custom_jdbc_config.yml
. Pour en savoir plus, consultez la section Entrées de pilote dans le fichier de configuration YAML de cette page.
Entrées de pilote dans le fichier de configuration YAML
Voici un exemple d'entrée de pilote dans le fichier custom_jdbc_config.yml
:
- name: driver_symbol
dir_name: driver_symbol
module_path: com.dialect.jdbc.DialectDriver
override_jdbc_url_subprotocol: driver_subprotocol # optional
Lorsque vous écrivez l’entrée du pilote pour votre dialecte:
- Le fichier
custom_jdbc_config.yml
est basé sur YAML, ce qui signifie que le retrait et l'espacement sont importants. - Les attributs
name
etdir_name
doivent correspondre au symbole du pilote que Looker attend pour vous dans votre dialecte lors de l'enregistrement des pilotes JDBC. - Il est possible d'utiliser l'attribut
file_name
au lieu dedir_name
contenant le chemin relatif entrecustom_jdbc_drivers
et le fichier JAR du pilote JDBC.dir_name
est recommandé, car il favorise l'isolement de plusieurs pilotes dans leurs propres répertoires et réduit le risque de collision des classes Java. - La propriété
module_path
dépend du pilote JDBC spécifique. Il doit s'agir du chemin d'accès complet à la classe de pilote Java. Cet exemple utilise une valeur générique, mais pour trouver lemodule_path
spécifique utilisé par le pilote, consultez sa documentation sur l'register de la classe de pilote. override_jdbc_url_subprotocol
est un argument facultatif utilisé pour remplacer le sous-protocole utilisé dans la chaîne JDBC que Looker envoie à la base de données. Une chaîne JDBC typique se présente comme suit:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
Où mysql
correspond au sous-protocole JDBC utilisé.
Si vous spécifiez override_jdbc_url_subprotocol: driver_subprotocol
, cette chaîne JDBC sera:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
Cette option est obligatoire si vous devez utiliser un pilote JDBC non empaqueté qui requiert un sous-protocole d'URL autre que le sous-protocole d'URL par défaut de Looker. Dans la plupart des cas, cela n'est pas nécessaire, sauf si la documentation du dialecte indique explicitement que c'est nécessaire. MongoBI est un exemple de dialecte qui requiert cette option.
Installer des pilotes JDBC décompressés
Accédez au répertoire de base de l'application Looker. Pour ce document, nous partons du principe que la valeur est
looker
.cd looker
Créez un répertoire appelé
custom_jdbc_drivers
. Il s'agit du répertoire de premier niveau pour toutes les installations de pilotes JDBC décompressés. Le chemin d'accès à ce répertoire doit êtrelooker/custom_jdbc_drivers
.mkdir custom_jdbc_drivers
Dans le répertoire
custom_jdbc_drivers
, créez un sous-répertoire nommé avec le symbole du pilote de votre dialecte. Cet exemple utilise la valeur génériquedriver_symbol
. Le chemin d'accès au répertoire généré doit ressembler à ce qui suit :looker/custom_jdbc_drivers/driver_symbol
cd custom_jdbc_drivers mkdir driver_symbol
Placez les fichiers du pilote JDBC pour votre dialecte dans ce répertoire. La méthode à suivre dépend de l'emplacement où le pilote de votre dialecte peut être trouvé et importé sur le serveur. Assurez-vous toutefois que le ou les fichiers JAR pertinents se trouvent dans le répertoire
driver_symbol
:looker/custom_jdbc_drivers/driver_symbol/
Par exemple :
looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar
Le déplacement des fichiers nécessaires sur le serveur Looker varie en fonction de l'emplacement des fichiers pilotes et de vos préférences de transfert de fichiers. Voici des exemples de commandes permettant de transférer des fichiers dans ce répertoire :
wget
,scp
,curl
, etc.Revenez au répertoire de l'application Looker et créez un fichier de configuration nommé
custom_jdbc_config.yml
. Le chemin d'accès à ce fichier doit êtrelooker/custom_jdbc_config.yml
. Ce fichier contiendra les informations dont Looker a besoin pour localiser et enregistrer le pilote JDBC personnalisé.cd looker vim custom_jdbc_config.yml
Ajoutez une entrée pour votre dialecte dans le fichier de configuration
custom_jdbc_config.yml
. Consultez la section Entrées du pilote dans le fichier de configuration YAML de cette page pour en savoir plus.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriver
Créez ou mettez à jour le fichier
lookerstart.cfg
afin que l'application Looker démarre avec la configuration du pilote JDBC décompressé. Le chemin d'accès à ce fichier doit êtrelooker/lookerstart.cfg
. Ajoutez l'option--use-custom-jdbc-config
. S'il existe d'autres options, ajoutez ceci à la fin des options de démarrage de Looker:LOOKERARGS="--use-custom-jdbc-config"
Si
LOOKERARGS
est défini ailleurs que surlookerstart.cfg
, comme dans une variable d'environnement, vous pouvez y ajouter cet indicateur de démarrage. Vous pouvez également définirLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"
afin que les valeurs existantes soient développées dans ce fichier.Redémarrez l'application Looker. Dans cette commande, utilisez le nom de votre script de démarrage Looker, par exemple
./looker
ou./looker.sh
./looker restart
ou
none ./looker stop ./looker start
Plusieurs pilotes JDBC non empaquetés
Si vous devez configurer plusieurs dialectes pour utiliser des pilotes JDBC décompressés, le processus décrit dans la section Installer des pilotes JDBC décompressés s'applique toujours. Le répertoire custom_jdbc_drivers
comportera plusieurs sous-répertoires dialect
avec leurs propres fichiers JAR de pilote, et le fichier custom_jdbc_config.yml
comportera plusieurs entrées:
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