Google BigQuery
Sie können Google BigQuery 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 Google BigQuery als Ziel bedeutet:
- Erfüllen der Voraussetzungen
- Konfigurieren einer Verbindung zu Google BigQuery
Konfigurieren einer Verbindung zu Google BigQuery
Gehen Sie wie folgt vor, um den Konnektor zu konfigurieren:
-
Klicken Sie in Verbindungen auf Verbindung erstellen.
-
Wählen Sie den Konnektor für denGoogle BigQuery -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
Dienstkontoschlüssel: Laden Sie die JSON-Datei hoch, die beim Erstellen des BigQuery-Dienstkontoschlüssels heruntergeladen wurde.
Standort: Ort, an den der von Qlik erstellte Datensatz hochgeladen wird. Wenn Sie Sonstige auswählen, geben Sie den Regionsnamen in das Feld Regionsname ein. Eine Liste der unterstützen Regionsnamen finden Sie unter BigQuery-Standorte.
Name
Der Anzeigename für die Verbindung.
Voraussetzungen
Für die Bereitstellung von Daten erforderliche Berechtigungen
Erforderliche Berechtigungen zur automatischen Erstellung des Ziel-Datasets:
Wenn das Dataset automatisch erstellt werden soll, sind die folgenden Berechtigungen nötig:
BigQuery > BigQuery Job User
BigQuery > BigQuery Data Editor
Erforderlichen Berechtigungen, wenn das Ziel-Dataset bereits vorhanden ist:
Wenn der Datensatz bereit vorhanden ist, müssen Sie folgende Schritte durchführen:
-
Erstellen Sie ein Dienstkonto mit der folgenden Berechtigung:
BigQuery > BigQuery Job User
-
Navigieren Sie zum Dataset, das Sie verwenden möchten, und führen Sie dann Folgendes aus:
-
Fügen Sie das Dienstkonto hinzu, das Sie gerade als Prinzipal erstellt haben.
-
Weisen Sie die Rolle BigQuery Data Editor zu.
-
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 gbq
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 gbq 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 gbq
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 gbq 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 gbq
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
Nachdem Data Movement Gateway installiert ist, laden Sie die Dateien SimbaODBCDriverforGoogleBigQuery_<version>-Linux.tar.gz und google-cloud-sdk-<version>-linux-x86_64.tar.gz herunter. Direkte Download-Links für diese Dateien finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml. Kopieren Sie nach Abschluss des Downloads die Dateien 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
-
Extrahieren:
SimbaODBCDriverforGoogleBigQuery_<version>.tar.gz
zu:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux
-
Verschieben Sie die Dateien GoogleBigQueryODBC.did und simba.googlebigqueryodbc.ini in das Verzeichnis lib unter dem Simba ODBC-Treiberverzeichnis.
Beispiel:
Verschieben Sie die Dateien aus:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/setup
zu:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
Bearbeiten Sie die Datei simba.googlebigqueryodbc.ini wie folgt:
-
Ändern Sie den
ErrorMessagesPath
in den Pfad der XML-Datei mit den ODBC-Nachrichten. Der Standardspeicherort lautet:ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/ErrorMessages
- Ändern Sie
DriverManagerEncoding
inUTF-16
.
-
-
Fügen Sie den folgenden Pfad zu der Datei site_arep_login.sh hinzu, die sich im Data Movement Gateway-Bin-Verzeichnis befindet:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
Bearbeiten Sie die Datei /etc/odbcinst.ini und fügen Sie den Treiberpfad hinzu (also den Pfad, in dem der Treiber installiert wird):
[ODBC Drivers]
Simba= Installed
Simba ODBC Driver for Google BigQuery = Installed
[Simba ODBC Driver for Google BigQuery]
Description=Simba ODBC Driver for Google BigQuery(64-bit)
Driver=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib/libgooglebigqueryodbc_sb64.so
-
Installieren Sie google-cloud-sdk-<version>-linux-x86_64.tar.gz.
-
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
Installieren des JDBC-Treibers und seiner Abhängigkeiten
-
Laden Sie die folgende ZIP-Datei und die JAR-Dateien herunter, die Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml finden:
- https://repo1.maven.org/maven2/com/google/cloud/google-cloud-bigquery/<version>/google-cloud-bigquery-<version>.jar
- https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/<version>/google-cloud-storage-<version>.jar
- https://storage.googleapis.com/simba-bq-release/jdbc/SimbaJDBCDriverforGoogleBigQuery<version>.zip
Kopieren Sie die JAR-Dateien in den folgenden Ordner auf dem Data Movement Gateway-Rechner und extrahieren Sie die JAR-Dateien in SimbaJDBCDriverforGoogleBigQuery<version>.zip in den gleichen Ordner:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Starten Sie den Data Movement Gateway-Dienst neu, indem Sie den in Neustarten des Diensts beschriebenen Befehl ausführen.
Port
Der Firewall-Port 443 muss für die ausgehende Kommunikation geöffnet werden.
Datentypen
Die parametrisierte Datentypenlänge wird auf Standardwerte gesetzt:
-
STRING: 8192 (Länge)
-
BYTES: 8192 (Länge)
-
NUMERIC Genauigkeit: 38, Dezimalstellen: 9
-
BIGDECIMAL: Genauigkeit: 76, Dezimalstellen: 38
Die folgende Tabelle zeigt die Google BigQuery-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 | Google BigQuery SQL-Datentypen |
---|---|
BOOLEAN |
BOOL |
BYTES |
BYTES (Länge in Byte) |
DATE |
DATE |
TIME |
TIME |
DATETIME |
TIMESTAMP |
INT1 |
TINYINT |
INT2 | SMALLINT |
INT4 |
INTEGER |
INT8 | BIGINT |
NUMERIC |
NUMERIC (Genauigkeit, Dezimalstellen) |
REAL4 |
FLOAT64 |
REAL8 |
FLOAT64 |
UINT1 |
TINYINT |
UINT2 |
SMALLINT |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
STRING (Länge in Byte) |
WSTRING |
STRING (Länge in Byte) |
BLOB |
BYTES |
NCLOB |
STRING |
CLOB |
STRING |
Die folgenden Datentypen werden in STRING konvertiert:
-
ARRAY
-
STRUCT
-
JSON
-
GEOGRAPHY
Nehmen Sie nur dann eine manuelle Installation des driver vor, wenn die automatische Treiberinstallation nicht erfolgreich abgeschlossen werden konnte.
Einschränkungen und Überlegungen
Die folgenden Einschränkungen und Überlegungen gelten beim Verschieben von Daten an ein Google BigQuery-Ziel:
Einschränkungen und Überlegungen für alle Datenaufgaben
- Die folgenden DDLs werden nicht unterstützt:
- Spalte verwerfen
- Spalte umbenennen
- Spaltendatentyp ändern
- Tabelle umbenennen
Das Erfassen von Änderungen aus Quelltabellen ohne Primärschlüssel oder eindeutigen Index wird nicht unterstützt. Wenn Sie Änderungen aus diesen Tabellen erfassen müssen, können Sie einen Primärschlüssel mithilfe einer Umwandlung hinzufügen. Zusätzlich können die Spalten für Primärschlüssel oder eindeutigen Index keine NULLs enthalten. Wenn Sie wissen, dass solche Spalten mit NULL-Werten gefüllt werden, definieren Sie eine Umwandlung, um die NULL-Werte in nicht-nullwertfähige Werte zu ändern.
Einschränkungen und Überlegungen nur für Replikationsaufgaben
- Der Transaktionsmodus „Änderungen anwenden“ wird nicht unterstützt.
Die Fehlerbehebungsoption Datensatz in Ausnahmetabelle protokollieren für Anwendungskonflikte und Datenfehler wird nicht unterstützt.
Mit der folgenden Konfiguration der Aufgabeneinstellungen führt die Replikationsaufgabe einen DELETE-Vorgang gefolgt von einem INSERT anstelle eines UPDATE durch:
Der Modus „Änderungen anwenden“ ist auf Stapeloptimiert festgelegt.
Die Option Änderungen mit SQL MERGE anwenden ist nicht ausgewählt.
Fehlerbehandlung für UPDATEs für Anwendungskonflikte wird wie folgt festgelegt: Kein Datensatz für die Anwendung eines UPDATE gefunden: INSERT für fehlenden Zieldatensatz.
Da Google Cloud BigQuery kein Rollback unterstützt, werden die Daten im Falle, dass die Replikationsaufgabe die aktualisierte Zeile nicht einfügen kann, aus dem Ziel gelöscht.