Skip to main content

Google BigQuery

Verbindungstyp

Alteryx-Tool. Die aktuellste Version ist in der Alteryx Community verfügbar.

Typ der Unterstützung

Lesen und Schreiben

Validiert am

ODBC-Clientversion 2.4.6.1015

Treiberdetails

Bevor eine Verbindung in den Alteryx Google BigQuery-Tools konfiguriert werden kann, sind möglicherweise Administratoraktion in Google Cloud erforderlich.

Google BigQuery erfordert OAuth als Authentifizierungsmethode. Wir unterstützen OAuth mit dem Simba ODBC-Treiber über DSN oder in Alteryx mit DCM.

Alteryx-Tools für die Verbindung

Wichtig

Die Google BigQuery-Tools sind veraltet. Sie können weiterhin das  Eingabedaten-Tool sowie das Datenausgabe-Tool  verwenden, um die Verbindung zu Google BigQuery herzustellen.

Standard-Workflow-Verarbeitung

Eingabedaten-Tool Input Data Tool

Input Data Tool Icon

Datenausgabe-Tool Output Data Tool

Output Data Tool Icon

In-DB-Workflow-Verarbeitung

Blue icon with database being plugged in.
Blue icon with a stream-like object flowing into a database.

Anmerkung

Die In-DB-Workflow-Verarbeitung wird nur mit DCM unterstützt.

Das für In-DB-Lese- und Schreibvorgänge verwendete Google BigQuery-Dataset muss identisch sein.

Wichtig

Projekte, Datasets und Tabellen mit Sonderzeichen (wie Bindestrichen) müssen in Anführungszeichen gesetzt werden. Weitere Informationen finden Sie im Artikel Google BigQuery-Fehler mit Bindestrichen in SQL-Abfragen in der Wissensdatenbank.

Konfigurieren einer Google BigQuery Bulk-Verbindung

Die Verwendung von Google BigQuery Bulk wird nur bei gleichzeitiger Verwendung von DCM unterstützt. So verwenden Sie die Bulk-Verbindung über das Ausgabedaten-Tool:

  1. Aktivieren Sie den Data Connection Manager .

  2. Wählen Sie Eine Verbindung einrichten und dann Datenquellen Google BigQuery Bulk aus.

  3. Wählen Sie Eine Datenquelle hinzufügen aus.

    1. Geben Sie einen Datenquellennamen ein.

    2. Geben Sie einen Katalog (Projekt) ein. Dies ist die Google BigQuery Projekt-ID, die sowohl das Dataset enthält, in das die Tabelle geschrieben wird, als auch den Google Cloud Storage-Bucket, der für das Staging verwendet wird.

    3. Geben Sie ein Dataset ein. Hier wird die endgültige Tabelle geschrieben.

    4. Geben Sie einen Bucket-Namen ein. Dies ist der Staging-Speicherort zum Bulk Loading in Google Cloud Storage. Der Bucket muss sich am selben Ort wie das Projekt befinden.

    5. Wählen Sie Speichern aus.

  4. Wählen Sie + Anmeldedaten verbinden aus. Dieselben Anmeldedaten werden für das Staging in Cloud Storage und für das Google BigQuery-Projekt verwendet.

    1. Wählen Sie eine Authentifizierungsmethode aus,

    2. und folgen Sie den Anweisungen zur Verwendung von OAuth mit DCM .

  5. Wählen Sie Verbinden aus.

  6. Geben Sie den Tabellennamen ein, und wählen Sie OK aus.

OAuth mit DCM

Sie können die Authentifizierung für Google BigQuery über OAuth mit Integration in DCM einrichten. Auf diese Weise müssen Sie Token nicht manuell in den ODBC-Treiber kopieren.

Voraussetzungen

Zum Einrichten von OAuth benötigen Sie:

  • einen gültigen DSN, bei dem die Option Authentifikator auf OAuth festgelegt wurde,

  • und dazu OAuth-Autoritäts-URL, Port, Client-ID sowie Client-Geheimnis vom Administrator.

Einrichtung der Authentifizierung

Ziehen Sie in Designer das Eingabe-Tool auf den Canvas.

  1. Aktivieren Sie das Kontrollkästchen Data Connection Manager (DCM) verwenden .

  2. Wählen Sie Eine Verbindung einrichten aus.

  3. Gehen Sie im Fenster Datenverbindungen zu Datenquellen , und wählen Sie Google BigQuery-ODBC aus.

  4. Das Fenster des Connection Manager wird geöffnet. Wählen Sie + Datenquellen hinzufügen aus.

  5. Wählen Sie unter Technologie die Option Google BigQuery-ODBC mit Simba aus.

  6. Geben Sie den Namen der Datenquelle ein, und wählen Sie den vorbereiteten Google BigQuery-DSN aus.

  7. Wählen Sie Speichern aus.

  8. Um die Anmeldeinformationen zu verknüpfen, wählen Sie + Anmeldedaten verbinden aus.

  9. Wählen Sie OAuth als Authentifizierungsmethode aus.

  10. Wählen Sie für die OAuth-Anwendung die Option Neue Anmeldedaten erstellen aus, und geben Sie die erforderlichen Informationen ein (OAuth-Autoritäts-URL, Port, Client-ID und Client-Geheimnis erhalten Sie vom Administrator).

  11. Wählen Sie für OAuth-Token die Option Neue Anmeldedaten erstellen aus.

  12. Geben Sie den Anmeldenamen ein, und wählen Sie Erstellen und verknüpfen aus.

  13. Wählen Sie Verbinden aus.

  14. Melden Sie sich im externen Browserfenster des Google-Managers an.

Anmerkung

Aufgrund der Art und Weise, wie Token in DCM verwaltet werden, müssen Sie den OAuth-Autorisierungsprozess ggf. zweimal durchlaufen.

Google BigQuery JSON-Schlüsseldateiauthentifizierung

Mit Designer Version 2024.1 ist es einfacher denn je, ein Dienstkonto mit Google BigQuery über den DCM zu authentifizieren.

  1. Wählen Sie Ihre Google BigQuery-Verbindung aus, und suchen Sie die JSON-Schlüsseldateiauthentifizierung aus der Liste der verfügbaren Authentifizierungsmethoden.

  2. Geben Sie den Pfad zu Ihrer JSON-Schlüsseldatei an.

  3. Stellen Sie eine Verbindung zu Ihren Google BigQuery-Daten her.

Ausführliche Anweisungen zur Konfiguration der JSON-Schlüsseldateiauthentifizierung für Ihr Google BigQuery-Konto finden Sie in den BigQuery-Handbüchern .

Konfigurieren einer Verbindung mit den Google BigQuery-Tools

Authentifizierung und Berechtigungen

Wenden Sie sich an Ihren Google Cloud-Administrator, wenn Sie Hilfe mit Ihren Google BigQuery-Anmeldedaten benötigen.

Seit Designer-Version 22.1 wird eine OAuth-Authentifizierung mit dem Simba-ODBC-Treiber unterstützt.

Dienst-zu-Dienst-Authentifizierung einrichten

Sie können eine Dienstkonto-JSON-Schlüsseldatei von der Google Cloud Console erhalten oder einen neuen Schlüssel für ein bestehendes Dienstkonto erstellen. Weitere Informationen zu Google BigQuery finden Sie auf der Google BigQuery-Dokumentation -Website unter Dienstkontenschlüssel erstellen und verwalten .

Endbenutzer-Authentifizierung einrichten

Beschaffen Sie sich auf der Anmeldeseite von Google Cloud Console eine OAuth-Client-ID und ein Geheimnis. Stellen Sie sicher, dass der Client-Typ auf „Sonstige“ eingestellt ist.

Anmerkung

Verwenden Sie wann immer möglich die Dienst-zu-Dienst -Authentifizierung anstatt der Endbenutzer -Authentifizierung. Die Verwaltung unterschiedlicher Schlüssel für verschiedene Anwendungen, die sich für dasselbe Dienstkonto authentifizieren, ermöglicht den Widerruf des Zugriffs für eine spezifische Anwendung, ohne dass die anderen Anwendungen ihre Authentifizierungsdaten aktualisieren müssen.

Zugriffsberechtigungen

Zugriffsberechtigungen zum Lesen und Schreiben von Daten innerhalb eines Dienstkontos für ein Google BigQuery-Projekt müssen über die Google Cloud Console erteilt werden. Weitere Informationen zu Berechtigungen finden Sie auf der Google BigQuery-Dokumentation -Website.

Weitere Informationen

  • Bei Google BigQuery werden Tabellen immer in Anführungszeichen gesetzt.

  • Anhänge erfolgen nach Feldname. Wenn Name oder Datentyp nicht übereinstimmen, gibt Google BigQuery einen Fehler aus.

  • Aktivieren Sie die Option Nullwerte unterstützen in den formatspezifischen Optionen (standardmäßig aktiviert), um das Laden von Nulldaten in Google BigQuery zu ermöglichen. Wenn diese Option nicht aktiviert ist, werde Nullwerte von Google BigQuery abgelehnt.

  • Zusätzliche Spalten in der Zieltabelle werden als Null geladen, wenn sie nicht in Alteryx enthalten sind.

  • Ein Spaltenname darf nur Buchstaben (a–z, A–Z), Zahlen (0–9) oder Unterstriche (_) enthalten und muss mit einem Buchstaben oder Unterstrich beginnen. Die maximale Länge des Spaltennamens beträgt 300 Zeichen. Weitere Informationen finden Sie in Google BigQuery-Dokumentation .

  • Ausgabe-Konnektor-Schemata

    Feldnamen und -typen, die an das Google BigQuery-Ausgabe-Tool übergeben werden, müssen mit denen in der Google BigQuery-Zieltabelle übereinstimmen. Spalten, die in der Google BigQuery-Tabelle, aber nicht in der Liste der Workflow-Felder vorhanden sind, erzeugen für diese Spalten in den eingefügten Datensätzen Nullwerte. Dies verursacht einen Fehler, wenn die Zielspalte nicht als „Nullwerte zulassend" (NULLABLE) konfiguriert ist.

  • Eingabe-Fortschrittsanzeige

    Wenn sich für die ausgewählte Tabelle eines Eingabe-Tools ohne benutzerdefinierte Abfrage Zeilen im Streaming-Puffer befinden, verwendet das Eingabe-Tool die von Google gemeldete geschätzte Anzahl von Zeilen im Streaming-Puffer, während es den Prozentsatz der Fortschrittsanzeige in einem laufenden Workflow aktualisiert. Wenn die Schätzung von Google nicht korrekt ist, könnte auch der in der Fortschrittsanzeige angegebene Wert inkorrekt sein.

    Falls die abgefragte Tabelle leer ist und der Streaming-Puffer für diese Tabelle nicht leer ist, kann Google die Anzahl der Zeilen im Streaming-Puffer auf 0 schätzen. Google kann jedoch weiterhin Zeilen aus dem Streaming-Puffer zurückgeben. In diesem Fall wird der Prozentsatz der Fortschrittsanzeige nicht aktualisiert und eine Warnung wird angezeigt.

Bekannte Einschränkungen

Maximale verschachtelte, wiederholte Datensatztiefe

Verschachtelte, sich wiederholende Datensätze werden bis zu einer Tiefe von einer Ebene unterstützt. Verschachtelte, sich wiederholende Datensätze, die mehr als eine Ebene tief verschachtelt sind, werden nicht unterstützt. Weitere Informationen über verschachtelte, sich wiederholende Datensätze finden Sie auf der Google BigQuery-Dokumentation -Website.

Geodaten

Google BigQuery unterstützt das Schreiben von Geodaten nicht.

DATUM/UHRZEIT-Felder

Beim Schreiben in Google BigQuery:

  • Wenn ODBC zum Schreiben verwendet wird, erstellt Designer Datum/Uhrzeit-Felder als DATUM/UHRZEIT. Wenn der Bulk-Loader zum Schreiben verwendet wird, erstellt er Datum/Uhrzeit-Felder als ZEITSTEMPEL.

  • In Google BigQuery stellt ZEITSTEMPEL dasselbe wie DATUM/UHRZEIT dar und Sie können ihn mit EXTRAHIEREN parsen.

Verschachteltes, wiederholtes Datensatz-Flattening

  • Bei Eingabe :

    Wenn verschachtelte oder wiederholte Datensätze aus einer Google BigQuery-Tabelle abgerufen werden, vereinfacht der Alteryx-Workflow die verschachtelten und/oder wiederholten Datensätze gemäß dem untenstehenden Benennungsschema:

    Ein verschachtelter Datensatz nested_attr der Spalte top_attr der obersten Ebene erstellt eine neue Spalte mit dem Namen nr_top_attr_nexted_attr .

  • Bei Ausgabe :

    Wenn Datensätze aus dem Alteryx-Workflow in eine vorhandene Google BigQuery-Tabelle übertragen werden, wird die Notwendigkeit spezifiziert, Datensatzfelder in verschachtelte und/oder sich wiederholende Datensätze zu falten, indem Datensatzfelder, die in den Ausgabe-Konnektor fließen, umbenannt werden, damit sie diesen Namenskonventionen entsprechen.

    Ein Datensatz nested_attr , der in die Spalte top_attr der obersten Ebene verschachtelt werden soll, muss in nr_top_attr_nested_attr umbenannt werden.

    Ein Datensatz nested_attr , der verschachtelt und beliebig oft unter der Spalte top_attr der obersten Ebene wiederholt werden soll, muss in nrr_top_attr_{repetition_index}_nested_attr umbenannt werden.

    Wiederholungen, die alle NULL -Werte in den verschachtelten Feldern enthalten, werden vor dem API-Aufruf zum Einfügen neuer Zeilen in die Google BigQuery-Tabelle gelöscht. Dies bedeutet, dass Datensätze in Ihrem Designer-Workflow eine beliebige Anzahl von maximalen Wiederholungen haben können und nicht jeder Datensatz dieselbe Anzahl von Wiederholungen haben muss.

AVRO-Beschränkung

Aufgrund einer AVRO-Beschränkung unterstützt der BigQuery Bulk-Loader keine BIGNUMERIC-Datentypen. Sie werden stattdessen als FLOAT behandelt.

Mit dem Google BigQuery Bulk-Loader kann Designer keine Felder als DATUM/UHRZEIT erstellen. In Designer Versionen vor 23.2 lädt der Bulk-Loader Datumsangaben als Zeichenfolge.