Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Databricks

Sie können Databricks als eine Zieldatenplattform in einer Daten-Pipeline. In einer Daten-Pipeline können verschiedene Vorgänge auf der Zielplattform durchgeführt werden, wie das Bereitstellen, Speichern oder Umwandeln von Daten, die Erstellung von Data Marts und die Datenregistrierung. verwenden.

Dies bedeutet:

InformationshinweisWird nur mit SQL Warehouse-Clustern unterstützt

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:

InformationshinweisWenn Sie vorhandene Daten registrieren, brauchen Sie keinen Cloud-Bereitstellungsbereich einzurichten.

Konfigurieren einer Verbindung zu Databricks

Wählen Sie den Databricks-Zielkonnektor aus und konfigurieren Sie die folgenden Einstellungen.

Datenziel

Daten-Gateway: Ein Data Movement Gateway ist nur erforderlich, wenn die Zieldatenbank nicht über Qlik Cloud, sondern nur über einen privaten 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 Bereitstellen von Daten aus der Datenquelle bereitgestellt wurde, oder ein anderes. Informationen zu den Bereitstellungsmöglichkeiten für Data Movement Gateway finden Sie unter Häufige Anwendungsfälle.

InformationshinweisErfordert Data Movement Gateway 2023.5.10 oder höher.

Wenn auf die Zieldatenbank direkt über Qlik Cloud zugegriffen werden kann, wählen Sie Keine aus.

InformationshinweisWenn Sie über Data Movement Gateway auf die Zieldatenbank zugreifen, müssen Sie auch den entsprechenden Treiber auf dem Data Movement Gateway-Rechner installieren. Weitere Einzelheiten finden Sie unter Treibereinrichtung unten.

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.

Informationshinweis

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:

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

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 Neu erstellen und Abbrechen 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 Cloud Data Integration Server-Rechner muss akkurat sein.
  • Databricks table permissions: Data Movement Gateway 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 Data Movement Gateway (AD App-ID) zu. Es dauert möglicherweise einige Minuten, bis die Rolle wirksam wird.
  • Damit Data Movement Gateway ü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.

  • 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

So laden Sie den driver herunter und installieren ihn:

  1. Halten Sie den Data Movement Gateway-Dienst an:

    sudo systemctl stop repagent

  2. Bestätigen Sie optional, dass der Dienst angehalten wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: inactive (dead) since <timestamp> ago

  3. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  4. 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.

  5. 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.
  6. 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.

  7. Der driver wird installiert.

  8. Warten Sie, bis die Installation abgeschlossen ist („Complete!“ wird angezeigt) und starten Sie dann den Data Movement Gateway-Dienst:

    sudo systemctl start repagent

  9. Bestätigen Sie optional, dass der Dienst gestartet wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: active (running) since <timestamp> ago

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:

  1. Halten Sie den Data Movement Gateway-Dienst an:

    sudo systemctl stop repagent

  2. Bestätigen Sie optional, dass der Dienst angehalten wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: inactive (dead) since <timestamp> ago

  3. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  4. 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.

  5. 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.
  6. 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.
  7. Der alte driver wird deinstalliert und der neue driver installiert.

  8. Warten Sie, bis die Installation abgeschlossen ist („Complete!“ wird angezeigt) und starten Sie dann den Data Movement Gateway-Dienst:

    sudo systemctl start repagent

  9. Bestätigen Sie optional, dass der Dienst gestartet wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: active (running) since <timestamp> ago

Führen Sie den Befehl „uninstall“ aus, wenn Sie den driver deinstallieren möchten.

So deinstallieren Sie den driver:

  1. Halten Sie alle Aufgaben an, die für die Verwendung dieses Konnektors konfiguriert sind.

  2. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  3. 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.

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.

  1. Halten Sie den Data Movement Gateway-Dienst an:

    sudo systemctl stop repagent

  2. Bestätigen Sie optional, dass der Dienst angehalten wurde:

    sudo systemctl status repagent

  3. Der Status lautet wie folgt:

    Active: inactive (dead) since <timestamp> ago

  4. Installieren Sie den Treiber auf dem Data Movement Gateway-Rechner.

  5. Stellen Sie nach der Installation sicher, dass der folgende Abschnitt in der Datei /etc/odbcinst.ini steht:

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Starten Sie den Data Movement Gateway-Dienst:

    sudo systemctl start repagent

  8. Bestätigen Sie optional, dass der Dienst gestartet wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: active (running) since <timestamp> ago

  1. 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

  2. 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.

Unterstützte Datentypen
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.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!