Databricks
Sie können Databricks als eine Zieldatenplattform in einer Daten-Pipeline oder einer Replikationsaufgabe. In einer Daten-Pipeline können verschiedene ELT-Vorgänge auf der Zielplattform durchgeführt werden, wie das Speichern oder Umwandeln von Daten, das Erstellen von Data Marts und die Datenregistrierung. Im Gegensatz dazu werden bei einer Replikationsaufgabe die Daten direkt aus einem Quellsystem in ein Zielsystem mit grundlegenden Umwandlungsfunktionen repliziert. ELT-Vorgänge werden nicht unterstützt. verwenden.
Das Einrichten von Databricks als Ziel bedeutet:
- Erfüllen der Voraussetzungen
- Konfigurieren einer Verbindung zu einem Cloud-Bereitstellungsbereich. Dies ist nicht erforderlich, wenn Sie vorhandene Daten registrieren.
- Konfigurieren einer Verbindung zu Databricks
Einrichten eines Cloud-Bereitstellungsbereichs
Wenn Sie den Databricks-Zielkonnektor verwenden, müssen Sie auch einen Cloud-Bereitstellungsbereich definieren, in dem Daten und Änderungen bereitgestellt werden, bevor sie angewendet und gespeichert werden. Die folgenden Speicherplattformen werden unterstützt:
Konfigurieren einer Verbindung zu Databricks
Nachdem Sie die Bereitstellungseinstellungen angegeben haben, gehen Sie wie folgt vor:
-
Klicken Sie in Verbindungen auf Verbindung erstellen.
-
Wählen Sie den Konnektor für denDatabricks-Zielkonnektor aus und geben Sie dann die folgenden Einstellungen an:
Datenziel
Daten-Gateway
Ein Data Movement Gateway ist nur erforderlich, wenn die Zieldatenbank nicht über Qlik Cloud, sondern nur über einen Private Link erreichbar ist (wenn sie sich z. B. in einer Virtual Private Cloud befindet). Wählen Sie in diesem Fall das Data Movement Gateway aus, über das Sie auf die Zieldatenbank zugreifen möchten.
Abhängig von Ihrem Anwendungsfall ist dies das gleiche Data Movement Gateway, das zum Verschieben von Daten aus der Datenquelle bereitgestellt wurde, oder ein anderes.
Informationen zu Anwendungsfällen für Data Movement Gateway finden Sie unter Wann ist Data Movement Gateway erforderlich? und Häufige Anwendungsfälle.
Wenn auf die Zieldatenbank direkt über Qlik Cloud zugegriffen werden kann, wählen Sie Keine aus.
Verbindungseigenschaften
- Host: der Hostname des Databricks-Arbeitsbereichs.
- Port: der Port, über den auf den Arbeitsbereich zugegriffen wird.
- HTTP-Pfad: der Pfad zum verwendeten Cluster.
- Token: Ihr persönlicher Token für den Zugriff auf den Arbeitsbereich.
Katalogeigenschaften
Klicken Sie auf Kataloge laden, um die verfügbaren Kataloge zu laden, und wählen Sie dann einen Katalog aus. Wenn in Ihrer Umgebung keine Kataloge konfiguriert sind, wählen Sie hive_metastore aus. Dies ist der Standardkatalog.
Sie müssen dem Data Movement Gateway den Zugriff auf externe (nicht verwaltete) Tabellen gewähren, indem Sie in Databricks einen externen Speicherort definieren. Hilfestellung finden Sie unter:
Interne Eigenschaften
Interne Eigenschaften sind für besondere Anwendungsfälle vorgesehen und werden daher nicht im Dialogfenster angezeigt. Sie sollten sie nur verwenden, wenn Sie vom Qlik Support dazu angewiesen werden.
Verwenden Sie die Schaltflächen und rechts neben den Feldern, um Eigenschaften wie erforderlich hinzuzufügen oder zu entfernen.
Name
Der Anzeigename für die Verbindung.
Voraussetzungen
Allgemeine Berechtigungen
- Die Uhrzeit auf dem Qlik Talend Data Integration Server-Rechner muss akkurat sein.
- Databricks table permissions: Qlik Talend Data Integration erfordert Berechtigungen für die Durchführung der folgenden Operationen bei Databricks-Tabellen: CREATE, DROP, TRUNCATE, DESCRIBE und ALTER.
- Weisen Sie in den Zugangskontrolleinstellungen (IAM) für das ADLS Gen2-Dateisystem die Rolle “Speicher-Blobdaten-Beitragender” zu Qlik Talend Data Integration (AD App-ID) zu. Es dauert möglicherweise einige Minuten, bis die Rolle wirksam wird.
- Damit Qlik Talend Data Integration über ODBC eine Verbindung zu einem Databricks-Cluster herstellen kann, müssen Benutzer die Berechtigung „Can Attach To“ in ihrem Databricks-Konto erhalten.
- Für den Zugriff auf Databricks ist ein gültiges Sicherheitstoken erforderlich. Das Token muss bei der Konfiguration der Felder Databricks ODBC Access in den Endpunkteinstellungen angegeben werden.
-
Bei der Konfiguration eines neuen Clusters mit Microsoft Azure Data Lake Storage (ADLS) Gen2 muss die folgende Zeile zum Abschnitt „Spark Config“ hinzugefügt werden.
spark.hadoop.hive.server2.enable.doAs false
-
Damit man über den Databricks-Cluster auf die Speicherverzeichnisse zugreifen kann, müssen Benutzer eine Konfiguration (in Spark Config) für dieses Speicherkonto und dessen Schlüssel hinzufügen.
Beispiel:
fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>
Details finden Sie in der Online-Hilfe zu Databricks auf: https://docs.databricks.com/clusters/configure.html#spark-configuration
-
Es hat sich bewährt, nicht den Stammspeicherort (/Usr/Hive/Warehouse/) für die Databricks-Datenbank zu verwenden, da sich dies möglicherweise negativ auf die Leistung auswirkt.
Speicherzugriffsberechtigung
Die Databricks SQL-Berechnung muss so konfiguriert werden, dass ein Zugriff auf den Cloudspeicher möglich ist. Anweisungen erhalten Sie in der Online-Hilfe des Anbieters.
Treibereinrichtung
Ein Treiber ist nur erforderlich, wenn Sie über Data Movement Gateway auf die Datenbank zugreifen. Installieren Sie in diesem Fall den Treiber auf dem Data Movement Gateway-Rechner.
Sie können den driver mit dem Treiberinstallations-Dienstprogramm (empfohlen) oder manuell installieren. Eine manuelle Installation sollte nur in dem unwahrscheinlichen Fall versucht werden, dass Sie beim Verwenden des Treiberinstallations-Dienstprogramms auf Probleme stoßen.
Verwenden des Treiberinstallations-Dienstprogramms zum Installieren des Treibers
In diesem Abschnitt wird die Installation des erforderlichen driver beschrieben. Der Prozess umfasst das Ausführen eines Skripts, das den erforderlichen driver automatisch herunterlädt, installiert und konfiguriert. Sie können auch Skripte ausführen, um den driver bei Bedarf zu aktualisieren und zu deinstallieren.
Vorbereiten der Installation
-
Vergewissern Sie sich, dass Python 3.6 oder höher auf dem Data Movement-Gateway-Server installiert ist.
Python ist in den meisten Linux-Distributionen vorinstalliert. Führen Sie den folgenden Befehl aus, um zu prüfen, welche Python-Version auf Ihrem System installiert ist.
python3 --version
Installieren von driver
So laden Sie den driver herunter und installieren ihn:
-
Halten Sie den Data Movement Gateway-Dienst an:
sudo systemctl stop repagent
-
Bestätigen Sie optional, dass der Dienst angehalten wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: inactive (dead) since <timestamp> ago
-
Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:
opt/qlik/gateway/movement/drivers/bin
-
Führen Sie den folgenden Befehl aus:
Syntax:
./install databricks
Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl install databricks erneut aus.
Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.
-
Gehen Sie folgendermaßen vor:
- Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
-
Gehen Sie folgendermaßen vor:
- Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
- Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
-
Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung erneut anzuzeigen.
-
Warten Sie, bis die Installation abgeschlossen ist („Complete!“ wird angezeigt) und starten Sie dann den Data Movement Gateway-Dienst:
sudo systemctl start repagent
-
Bestätigen Sie optional, dass der Dienst gestartet wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: active (running) since <timestamp> ago
Der driver wird installiert.
Aktualisieren des driver
Führen Sie den Befehl „update“ aus, wenn Sie vorherige Versionen des driver deinstallieren möchten, bevor Sie den bereitgestellten driver installieren.
So laden Sie den driver herunter und aktualisieren ihn:
-
Halten Sie den Data Movement Gateway-Dienst an:
sudo systemctl stop repagent
-
Bestätigen Sie optional, dass der Dienst angehalten wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: inactive (dead) since <timestamp> ago
-
Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:
opt/qlik/gateway/movement/drivers/bin
-
Führen Sie den folgenden Befehl aus:
Syntax:
./update databricks
Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl update databricks erneut aus.
Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.
-
Gehen Sie folgendermaßen vor:
- Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
-
Gehen Sie folgendermaßen vor:
- Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
- Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
- Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung von Anfang an anzuzeigen.
-
Warten Sie, bis die Installation abgeschlossen ist („Complete!“ wird angezeigt) und starten Sie dann den Data Movement Gateway-Dienst:
sudo systemctl start repagent
-
Bestätigen Sie optional, dass der Dienst gestartet wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: active (running) since <timestamp> ago
Der alte driver wird deinstalliert und der neue driver installiert.
Deinstallieren des driver
Führen Sie den Befehl „uninstall“ aus, wenn Sie den driver deinstallieren möchten.
So deinstallieren Sie den driver:
-
Halten Sie alle Aufgaben an, die für die Verwendung dieses Konnektors konfiguriert sind.
-
Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:
opt/qlik/gateway/movement/drivers/bin
-
Führen Sie den folgenden Befehl aus:
Syntax:
./uninstall databricks
Der driver wird deinstalliert.
Manuelles Installieren des Treibers
Nehmen Sie nur dann eine manuelle Installation des driver vor, wenn die automatische Treiberinstallation nicht erfolgreich abgeschlossen werden konnte.
Installieren des ODBC-Treibers
Nach der Installation von Data Movement Gateway laden Sie die Datei SimbaSparkODBC-<version>-LinuxRPM-64bit.zip herunter. Einen direkten Download-Link zur unterstützten Version finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Kopieren Sie nach Abschluss des Downloads die Datei auf den Data Movement Gateway-Rechner.
-
Halten Sie den Data Movement Gateway-Dienst an:
sudo systemctl stop repagent
-
Bestätigen Sie optional, dass der Dienst angehalten wurde:
sudo systemctl status repagent
-
Installieren Sie den Treiber auf dem Data Movement Gateway-Rechner.
-
Stellen Sie nach der Installation sicher, dass der folgende Abschnitt in der Datei /etc/odbcinst.ini steht:
-
Starten Sie den Data Movement Gateway-Dienst:
sudo systemctl start repagent
-
Bestätigen Sie optional, dass der Dienst gestartet wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: active (running) since <timestamp> ago
Der Status lautet wie folgt:
Active: inactive (dead) since <timestamp> ago
[Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
Installieren des JDBC-Treibers
-
Laden Sie die Datei databricks-jdbc-<version>.jar herunter. Einen direkten Download-Link zur unterstützten Version finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Kopieren Sie nach Abschluss des Downloads die JAR-Datei in den folgenden Ordner auf dem Data Movement Gateway-Rechner.
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Starten Sie den Data Movement Gateway-Dienst neu und prüfen Sie, ob er gestartet wurde, indem Sie die in Data Movement Gateway-Dienstbefehle beschriebenen Befehle ausführen.
Port
Der Firewall-Port 443 muss für die ausgehende Kommunikation geöffnet werden.
Datentypen
Die folgende Tabelle zeigt die Databricks-Datentypen, die bei der Verwendung von Qlik Cloud unterstützt werden, sowie die Standardzuordnung von Qlik Cloud-Datentypen.
Informationen zum nativen Datentyp werden beibehalten und in der Spalte Nativer Datentyp in Datensatzansichten angezeigt. Wenn die Spalte nicht angezeigt wird, müssen Sie die Spaltenauswahl in der Datensatzansicht öffnen und die Spalte Nativer Datentyp auswählen.
Qlik Cloud-Datentypen | Databricks-Datentypen |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
STRING |
DATE |
DATE |
TIME |
STRING |
DATETIME |
TIMESTAMP |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
DECIMAL (Genauigkeit, Dezimalstellen) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE |
UINT1 |
SMALLINT |
UINT2 |
INT |
UINT4 |
BIGINT |
UINT8 |
DECIMAL (20, 0) |
STRING |
VARCHAR (Länge in Byte) |
WSTRING |
VARCHAR (Länge in Byte) |
BLOB |
STRING |
NCLOB |
STRING |
CLOB |
STRING |
Die folgenden Datentypen werden in STRING(255) konvertiert:
-
MAP
-
ARRAY
-
STRUCT
Einschränkungen und Überlegungen
-
Bei Verwendung von Databricks on AWS mit Tabellen ohne Primärschlüssel schlägt das Laden der Tabellen in der Bereitstellung in der Speicher-App fehl. Zur Behebung können Sie Folgendes unternehmen:
-
Definieren Sie einen Primärschlüssel in den Tabellen.
-
Setzen Sie spark.databricks.delta.alterTable.rename.enabledOnAWS in Databricks auf True.
-
Beim Erstellen einer SQL-basierten Umwandlung werden alle VARCHAR-Felder als STRING(255) zurückgegeben.
-