Snowflake
Sie können Snowflake 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 Snowflake als Ziel bedeutet:
- Konfigurieren der Erforderliche Berechtigungen in der Datenbank.
- Installieren des erforderlichen Treibers. Beachten Sie, dass dies nur erforderlich ist, wenn Sie die Verbindung zu Snowflake über Data Movement Gateway herstellen.
- Konfigurieren einer Verbindung zu Snowflake
Einrichten von Verbindungseigenschaften
Gehen Sie wie folgt vor, um den Konnektor zu konfigurieren:
-
Klicken Sie in Verbindungen auf Verbindung erstellen.
-
Wählen Sie den Konnektor für denSnowflake -Zielkonnektor aus und geben Sie dann die folgenden Einstellungen an:
Data Movement Gateway
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
-
Server: Ihre URL für den Zugriff auf Snowflake. Beispiel: myaccount.snowflakecomputing.com.
-
Port: Der Port, über den Sie auf Ihre Snowflake-Datenbank zugreifen möchten. Der Standard ist 443.
Authentifizierung
Es gibt verschiedene Möglichkeiten zum Authentifizieren einer Verbindung:
-
Benutzername und Kennwort
-
Schlüsselpaar
Ihre Snowflake-Datenbank muss für Schlüsselpaar-Authentifizierung konfiguriert sein. Der Prozess ist in der Snowflake-Dokumentation beschrieben:
InformationshinweisWenn Sie Data Movement Gateway verwenden, ist für die Schlüsselpaar-Authentifizierung die Version 2024.5.14 oder höher erforderlich.
Kontoeigenschaften
Benutzername und Kennwort
Benutzername und Kennwort: Benutzername und Kennwort eines Benutzers, der zum Zugriff auf die Snowflake-Datenbank berechtigt ist.
Schlüsselpaar
Kontoeigenschaft | Beschreibung |
---|---|
Benutzer | Benutzer in Snowflake. |
Privatschlüsseldatei | Klicken Sie auf Durchsuchen, um Ihre Privatschlüsseldatei auszuwählen. |
Kennwort der Privatschlüsseldatei | Das Kennwort zur Entschlüsselung Ihres privaten Schlüssels, wenn dieser verschlüsselt ist. |
Datenbankeigenschaften
- Standardmäßiges Warehouse: Der Name des Snowflake-Warehouse. Sie können dies in Ihren Projekteinstellungen überschreiben.
-
Datenbankname: Es gibt zwei Methoden zum Angeben einer Datenbank:
-
Methode 1 – Aus einer Liste auswählen: Klicken Sie auf Datenbanken laden und wählen Sie dann eine Datenbank aus.
- Methode 2 – Manuell: Wählen Sie Datenbanknamen manuell eingeben aus und geben Sie dann den Datenbanknamen ein.
-
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
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich:
Erforderliche Berechtigungen, wenn nicht vorhandene Schemas automatisch erstellt werden sollen
- USAGE ON DATABASE
- CREATE SCHEMA ON DATABASE
Erforderliche Berechtigungen, falls das Schema bereits vorhanden ist
- USAGE ON DATABASE
- USAGE ON SCHEMA
- CREATE FILE FORMAT ON SCHEMA
- CREATE STAGE ON SCHEMA
- CREATE TABLE ON SCHEMA
Treibereinrichtung
Ein Treiber ist nur erforderlich, wenn Sie über Data Movement Gateway auf die Datenbank zugreifen.
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. Während des Prozesses wird der driver heruntergeladen, in den erforderlichen Ordner kopiert (siehe unten) und ein Skript ausgeführt, das den Treiber automatisch 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
-
Laden Sie den Snowflake ODBC-Treibet „snowflake-odbc-<version>.x86_64.rpm“ herunter. Einen direkten Download-Link zur unterstützten Version finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml. Kopieren Sie nach Abschluss des Downloads die Datei in:
/opt/qlik/gateway/movement/drivers/snowflake
Installieren von driver
So 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 snowflake
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 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 snowflake
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 snowflake
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.
Sie müssen sowohl einen ODBC-Treiber als auch einen JDBC-Treiber installieren.
Installieren des ODBC-Treibers
- Nach der Installation von Data Movement Gateway laden Sie die Treiberdatei snowflake-odbc-<version>x86_64.rpm herunter, die unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml aufgelistet ist, und kopieren Sie sie auf den Data Movement Gateway-Rechner.
- Installieren Sie den Treiber auf dem Data Movement Gateway-Rechner.
Installieren des JDBC-Treibers
-
Laden Sie die Datei snowflake-jdbc-<version>.jar herunter, die unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml aufgelistet ist, und kopieren Sie sie 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.
Leistung und Cloud-Dienstnutzungsoptimierung
Einschränkungen und Überlegungen
Die folgenden Einschränkungen gelten beim Verschieben von Daten an ein Snowflake-Ziel:
- Die Replikation von Tabellen mit umgekehrten Schrägstrichen im Namen (z. B. SPECIAL\\TABLE\N) wird nicht unterstützt.
Datentypen
Die folgende Tabelle zeigt die Snowflake-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 | Snowflake-Datentypen |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
BINARY (Länge in Byte) |
DATE |
DATE |
TIME |
TIME (Genauigkeit) |
DATETIME |
TIMESTAMP_NTZ (Genauigkeit) |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMBER (Genauigkeit, Dezimalstellen) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR (Länge in Byte) |
WSTRING |
NVARCHAR (Länge in Byte) |
BLOB |
BINARY (8388608) |
NCLOB |
NVARCHAR (8388608) |
CLOB |
VARCHAR (8388608) |