Looker zur Verwendung nicht gepackter JDBC-Treiber konfigurieren
Bei einigen der von Looker unterstützten Dialekten kann der JDBC-Treiber aus Lizenzgründen nicht in der Looker-JAR-Datei gepackt werden. In diesen Fällen müssen Sie den JDBC-Treiber auf Ihrem Looker-Server installieren und Looker dann so konfigurieren, dass der entpackte Treiber wie auf dieser Seite beschrieben registriert wird.
Alle Dialekte mit dem Wert „Nein“ unter „Unterstützt?“ aus. erfordern nicht gepackte JDBC-Treiberinstallationen:
Dialekt | Unterstützt? |
---|---|
Actian Lawine | Nein |
Amazon Athena | Ja |
Amazon Aurora MySQL | Ja |
Amazon Redshift | Ja |
Druid | Ja |
Apache Druid 0.13+ | Ja |
Apache Druid 0.18+ | Ja |
Apache Hive 2.3 und höher | Ja |
Apache Hive 3.1.2 und höher | Ja |
Apache Spark 3 und höher | Ja |
ClickHouse | Ja |
Cloudera Impala 3.1 und höher | Ja |
Cloudera Impala 3.1+ mit nativem Treiber | Nein |
Cloudera Impala mit nativem Treiber | Nein |
DataVirtuality | Nein |
Databricks | Ja |
Denodo 7 | Ja |
Denodo 8 | Ja |
Dremio | Ja |
Dremio 11+ | Ja |
Exasol | Ja |
Firebolt | Ja |
Google BigQuery Legacy SQL | Ja |
Google BigQuery-Standard-SQL | Ja |
Google Cloud PostgreSQL | Ja |
Google Cloud SQL | Ja |
Google Spanner | Ja |
Greenplum | Ja |
HyperSQL | Ja |
IBM Netezza | Ja |
MariaDB | Ja |
Microsoft Azure PostgreSQL | Ja |
Microsoft Azure SQL Database | Ja |
Microsoft Azure Synapse-Analyse | Ja |
Microsoft SQL Server 2008 oder höher | Ja |
Microsoft SQL Server 2012 und höher | Ja |
Microsoft SQL Server 2016 | Ja |
Microsoft SQL Server 2017 und höher | Ja |
MongoBI | Nein |
MySQL | Ja |
MySQL 8.0.12 und höher | Ja |
Oracle | Ja |
Oracle ADWC | Ja |
PostgreSQL 9.5+ | Ja |
PostgreSQL vor 9.5 | Ja |
PrestoDB | Ja |
PrestoSQL | Ja |
SAP HANA 2 und höher | Ja |
SingleStore | Ja |
SingleStore 7 und höher | Ja |
Snowflake | Ja |
Teradata | Nein |
Trino | Ja |
Vektor | Nein |
Vertica | Ja |
Vorbereitung
Um Looker mit einer Datenbank zu verbinden, die einen entpackten JDBC-Treiber erfordert, benötigen Sie Folgendes:
- Befehlszeilenzugriff auf Ihren Looker-Server.
- Der JDBC-Treiber als JAR-Datei. Die spezifische Dokumentation des Dialekts enthält möglicherweise Anweisungen dazu, wo diese Datei heruntergeladen werden kann. Andernfalls wird davon ausgegangen, dass Sie Zugriff auf die benötigte JAR-Datei haben.
- Das Fahrersymbol für Ihren Dialekt. Ein Treibersymbol ist ein Stringwert, den Looker intern verwendet, um den Dialekt dem Treiber zuzuordnen. In den Beispielen auf dieser Seite wird der generische Wert
driver_symbol
verwendet. In der Looker-Dokumentation für die einzelnen Dialekte finden Sie die Symbole, die Looker zum Registrieren von JDBC-Treibern bei Dialekten verwendet. - Der YAML-Treibereintrag für den Dialekt, der der Konfigurationsdatei
custom_jdbc_config.yml
hinzugefügt werden soll. Weitere Informationen finden Sie im Abschnitt Treibereinträge in der YAML-Konfigurationsdatei auf dieser Seite.
Treibereinträge in der YAML-Konfigurationsdatei
Hier ist ein Beispiel für einen Treibereintrag in der Datei custom_jdbc_config.yml
:
- name: driver_symbol
dir_name: driver_symbol
module_path: com.dialect.jdbc.DialectDriver
override_jdbc_url_subprotocol: driver_subprotocol # optional
Wenn Sie den Treibereintrag für Ihren Dialekt schreiben:
- Die Datei
custom_jdbc_config.yml
ist YAML-basiert. Das bedeutet, dass Einzüge und Abstände wichtig sind. - Die Attribute
name
unddir_name
müssen dem Treibersymbol entsprechen, das Looker für Ihren Dialekt beim Registrieren von JDBC-Treibern verwendet. - Es ist möglich, das Attribut
file_name
anstelle vondir_name
zu verwenden, das den relativen Pfad voncustom_jdbc_drivers
zur JAR-Datei des JDBC-Treibers enthält.dir_name
wird empfohlen, da dadurch mehrere Treiber in eigenen Verzeichnissen isoliert werden und die Wahrscheinlichkeit von Kollisionen von Java-Klassen verringert wird. - Die
module_path
-Eigenschaft hängt vom jeweiligen JDBC-Treiber ab. Es sollte der voll qualifizierte Pfad zur Java-Treiberklasse sein. In diesem Beispiel wird ein generischer Wert verwendet. Informationen zum Ermitteln der spezifischenmodule_path
, die der Treiber verwendet, finden Sie in der Dokumentation zum Registrieren der Treiberklasse. override_jdbc_url_subprotocol
ist ein optionales Argument, mit dem das Subprotokoll überschrieben wird, das im JDBC-String verwendet wird, der von Looker an die Datenbank gesendet wird. Ein typischer JDBC-String sieht so aus:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
Dabei ist mysql
das verwendete JDBC-Subprotokoll.
Wenn Sie override_jdbc_url_subprotocol: driver_subprotocol
angeben, wird dieser JDBC-String zu:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
Diese Option ist erforderlich, wenn Sie einen unverpackten JDBC-Treiber verwenden müssen, der ein anderes URL-Subprotokoll als das Standard-URL-Subprotokoll von Looker erfordert. In den meisten Fällen ist dies nicht erforderlich, es sei denn, dies ist in der Dokumentation des Dialekts explizit angegeben. MongoBI ist ein Beispiel für einen Dialekt, für den diese Option erforderlich ist.
Ungepackte JDBC-Treiber installieren
Wechseln Sie zum Basisverzeichnis der Looker-Anwendung. In diesem Beispiel wird
looker
als Basisverzeichnis verwendet.cd looker
Erstellen Sie ein Verzeichnis mit dem Namen
custom_jdbc_drivers
. Dies ist das Verzeichnis der obersten Ebene für alle nicht gepackten JDBC-Treiberinstallationen. Der Pfad zu diesem Verzeichnis solltelooker/custom_jdbc_drivers
seinmkdir custom_jdbc_drivers
Erstellen Sie im Verzeichnis
custom_jdbc_drivers
ein Unterverzeichnis, das nach dem Treibersymbol Ihres Dialekts benannt ist. In diesem Beispiel wird der generische Wertdriver_symbol
verwendet. Der resultierende Pfad zum Verzeichnis sieht so aus:looker/custom_jdbc_drivers/driver_symbol
cd custom_jdbc_drivers mkdir driver_symbol
Legen Sie die JDBC-Treiberdateien für Ihren Dialekt in diesem Verzeichnis ab. Die entsprechende Methode hängt davon ab, wo der Treiber Ihres Dialekts gefunden und auf den Server hochgeladen werden kann. Achten Sie jedoch darauf, dass sich die relevanten JAR-Dateien im Verzeichnis
driver_symbol
befinden:looker/custom_jdbc_drivers/driver_symbol/
Beispiel:
looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar
Wie Sie die erforderlichen Dateien auf den Looker-Server verschieben, hängt davon ab, wo Sie die Treiberdateien erhalten und welche Einstellungen Sie für die Dateiübertragung verwenden. Beispiele für Befehle zum Übertragen von Dateien in dieses Verzeichnis sind
wget
,scp
undcurl
.Wechseln Sie in das Looker-Anwendungsverzeichnis und erstellen Sie eine Konfigurationsdatei mit dem Namen
custom_jdbc_config.yml
. Der Pfad zu dieser Datei solltelooker/custom_jdbc_config.yml
lauten. Diese Datei enthält die Informationen, die Looker benötigt, um den benutzerdefinierten JDBC-Treiber zu finden und zu registrieren.cd looker vim custom_jdbc_config.yml
Fügen Sie der Konfigurationsdatei
custom_jdbc_config.yml
einen neuen Eintrag für Ihren Dialekt hinzu. Informationen zu Treibereinträgen finden Sie im Abschnitt Treibereinträge in der YAML-Konfigurationsdatei auf dieser Seite.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriver
Erstellen oder aktualisieren Sie die Datei
lookerstart.cfg
, damit die Looker-Anwendung mit der entpackten JDBC-Treiberkonfiguration gestartet wird. Der Pfad zu dieser Datei solltelooker/lookerstart.cfg
lauten. Fügen Sie die Option--use-custom-jdbc-config
hinzu. Wenn es weitere Optionen gibt, fügen Sie diese am Ende der Looker-Startoptionen an:LOOKERARGS="--use-custom-jdbc-config"
Wenn
LOOKERARGS
an einer anderen Stelle alslookerstart.cfg
festgelegt ist, z. B. in einer Umgebungsvariable, können Sie dieses Start-Flag dort hinzufügen. Alternativ können SieLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"
festlegen, damit die vorhandenen Werte in diese Datei erweitert werden.Starten Sie die Looker-Anwendung neu. Verwenden Sie in diesem Befehl den Namen Ihres Looker-Startskripts, z. B.
./looker
oder./looker.sh
../looker restart
oder
none ./looker stop ./looker start
Mehrere nicht gepackte JDBC-Treiber
Wenn Sie mehr als einen Dialekt konfigurieren müssen, um entpackte JDBC-Treiber zu verwenden, können Sie trotzdem weiter wie im Abschnitt Nicht gepackte JDBC-Treiber installieren beschrieben vorgehen. Das Verzeichnis custom_jdbc_drivers
hat mehrere dialect
-Unterverzeichnisse mit eigenen Treiber-JARs und die Datei custom_jdbc_config.yml
enthält mehrere Einträge:
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