BigQuery-Batchquelle

Auf dieser Seite finden Sie eine Anleitung zum Konfigurieren des BigQuery-Batchquellen-Plug-ins in Cloud Data Fusion.

Mit dem BigQuery-Quell-Plug-in können Sie Daten aus BigQuery-Tabellen verbinden und laden. Daten aus einer BigQuery-Tabelle werden an einen temporären Speicherort in Cloud Storage exportiert und dann von dort in die Pipeline eingelesen.

Hinweise

Cloud Data Fusion hat in der Regel zwei Dienstkonten:

Gewähren Sie jedem Dienstkonto die folgenden Rollen oder Berechtigungen, bevor Sie das BigQuery-Batchquell-Plug-in verwenden.

Cloud Data Fusion API-Dienst-Agent

Dieses Dienstkonto hat bereits alle erforderlichen Berechtigungen und Sie müssen keine zusätzlichen Berechtigungen hinzufügen. Er hat die folgenden Berechtigungen:

  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.updateData
  • bigquery.tables.update
  • bigquery.tables.export

Wenn Sie zusätzlich zum Standarddienstkonto für die Entwicklungszeit ein Namespace-Dienstkonto verwenden, fügen Sie ihm die Berechtigungen aus der obigen Liste hinzu.

Compute Engine-Dienstkonto

Erteilen Sie in Ihrem Google Cloud-Projekt dem Compute Engine-Dienstkonto die folgenden IAM-Rollen oder -Berechtigungen:

  • BigQuery Job User (roles/bigquery.jobUser). Diese vordefinierte Rolle enthält die erforderliche Berechtigung bigquery.jobs.create.
  • BigQuery-Datenbearbeiter (roles/bigquery.dataEditor): Diese vordefinierte Rolle enthält die folgenden erforderlichen Berechtigungen:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.updateData
    • bigquery.tables.update
    • bigquery.tables.export

Diese Rollen und Berechtigungen können je nach Anwendungsfall auch für das BigQuery-Dataset oder die BigQuery-Tabelle zugewiesen werden.

  • Autor von Legacy-Storage-Buckets (roles/storage.legacyBucketWriter). Diese vordefinierte Rolle enthält die folgenden erforderlichen Berechtigungen:

    • storage.buckets.get
    • storage.objects.get
    • storage.objects.list

Diese Rolle und diese Berechtigungen können je nach Anwendungsfall auch im Cloud Storage-Bucket zugewiesen werden.

Plug-in konfigurieren

  1. Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
  2. Prüfen Sie, ob Data Pipeline – Batch (Datenpipeline – Batch) ausgewählt ist (nicht Realtime).
  3. Klicken Sie im Menü Quelle auf BigQuery. Der BigQuery-Knoten wird in Ihrer Pipeline angezeigt.
  4. Rufen Sie den BigQuery-Knoten auf und klicken Sie auf Eigenschaften, um die Quelle zu konfigurieren.
  5. Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Eigenschaften.

    1. Geben Sie ein Label für den BigQuery-Knoten ein, z. B. BigQuery tables.
    2. Geben Sie die Verbindungsdetails ein. Sie können eine neue, einmalige Verbindung oder eine vorhandene, wiederverwendbare Verbindung einrichten.

      Neue Verbindung

      So fügen Sie eine einmalige Verbindung zu BigQuery hinzu:

      1. Übernehmen Sie im Feld Projekt-ID den Wert „Automatisch erkennen“.
      2. Wenn sich das BigQuery-Dataset in einem anderen Projekt befindet, geben Sie die ID im Feld Dataset-Projekt-ID ein.
      3. Wählen Sie im Feld Dienstkontotyp eine der folgenden Optionen aus und geben Sie den Inhalt im nächsten Feld ein:

        • Dateipfad
        • JSON

      Wiederverwendbare Verbindung

      So verwenden Sie eine vorhandene Verbindung wieder:

      1. Aktivieren Sie Verbindung verwenden.
      2. Klicken Sie auf Verbindungen durchsuchen.
      3. Klicken Sie auf den Namen der Verbindung, z. B. BigQuery-Standard.

      4. Optional: Wenn keine Verbindung vorhanden ist und Sie eine neue wiederverwendbare Verbindung erstellen möchten, klicken Sie auf Verbindung hinzufügen und folgen Sie der Anleitung auf dem Tab Neue Verbindung auf dieser Seite.

    3. Geben Sie im Feld Referenzname einen Namen ein, der für die Herkunft verwendet werden soll.

    4. Optional: Wenn das Dataset in Ihrer Instanz bereits verfügbar ist, klicken Sie auf Durchsuchen und wählen Sie die zu lesenden Daten aus.

    5. Geben Sie im Feld Dataset den Namen des Datasets ein, das die Tabelle enthält.

    6. Geben Sie im Feld Tabelle den Namen der Tabelle ein.

    7. Klicken Sie auf Schema abrufen, um die Konnektivität zu testen.

    8. Optional: Geben Sie im Feld Startdatum der Partition den gesamten String für das Startdatum ein, z. B. 2021-01-11.

    9. Optional: Geben Sie im Feld Enddatum der Partition den gesamten String für das Enddatum ein, z. B. 2024-01-11.

    10. Optional: Geben Sie im Feld Filter eine BigQuery-WHERE-Klausel ein.

    11. Optional: Geben Sie im Feld Name des temporären Buckets einen Namen für den Cloud Storage-Bucket ein.

    12. Optional: Geben Sie im Feld Name des Verschlüsselungsschlüssels den Namen des Verschlüsselungsschlüssels für Cloud Key Management Service (Cloud KMS) ein. Weitere Informationen finden Sie unter Ressourcennamen für den Schlüssel abrufen.

    13. Optional: Aktivieren Sie die Option Abfrageansichten aktivieren. Wenn Sie sie aktivieren, gehen Sie so vor:

      • Geben Sie im Feld Projekt zum Erstellen temporärer Tabellen den Namen des Projekts ein, in dem die temporäre Tabelle erstellt wird.
      • Geben Sie im Feld Dataset zum Erstellen temporärer Tabellen den Namen des Datasets ein, in dem die temporäre Tabelle erstellt wird.
    14. Optional: Klicken Sie auf Validieren und beheben Sie alle gefundenen Fehler.

    15. Klicken Sie auf Schließen. Die Eigenschaften werden gespeichert und Sie können die Datenpipeline in der Weboberfläche von Cloud Data Fusion weiter erstellen.

Attribute

Attribut Makro aktiviert Erforderliches Attribut Beschreibung
Label Nein Ja Der Name des Knotens in Ihrer Datenpipeline.
Verbindung verwenden Nein Nein Suchen Sie nach einer wiederverwendbaren Verbindung zur Quelle. Weitere Informationen zum Hinzufügen, Importieren und Bearbeiten der Verbindungen, die beim Durchsuchen von Verbindungen angezeigt werden, finden Sie unter Verbindungen verwalten.
Verbindung Ja Ja Wenn Verbindung verwenden aktiviert ist, wird der Name der von Ihnen ausgewählten wiederverwendbaren Verbindung in diesem Feld angezeigt.
Projekt-ID Ja Nein Wird nur verwendet, wenn Verbindung verwenden deaktiviert ist. Eine global eindeutige Kennzeichnung für das Projekt, in dem der BigQuery-Job ausgeführt wird.
Der Standardwert ist auto-detect.
Dataset-Projekt-ID Ja Nein Wird nur verwendet, wenn Verbindung verwenden deaktiviert ist. Wenn sich das Dataset in einem anderen Projekt befindet als dem, in dem der BigQuery-Job ausgeführt wird, ist dieser Wert die global eindeutige Kennzeichnung für das Projekt mit dem BigQuery-Dataset. Wenn kein Wert angegeben ist, wird standardmäßig die Projekt-ID verwendet. Dem angegebenen Dienstkonto muss die Rolle „BigQuery-Datenbetrachter“ gewährt werden, damit BigQuery-Daten im Projekt gelesen werden können.
Dienstkontotyp Ja Nein Wählen Sie eine der folgenden Optionen aus:
  • Dateipfad: Der Pfad, in dem sich das Dienstkonto befindet.
  • JSON: JSON-Inhalt des Dienstkontos.
Service account file path (Dateipfad des Dienstkontos) Ja Nein Wird nur verwendet, wenn der Wert des Dienstkontotyps Dateipfad ist. Der Pfad im lokalen Dateisystem des Dienstkontoschlüssels, der für die Autorisierung verwendet wird. Wenn Jobs in Dataproc-Clustern ausgeführt werden, setzen Sie den Wert auf „Automatisch erkennen“. Wenn Jobs in anderen Clustertypen ausgeführt werden, muss die Datei auf jedem Knoten im Cluster vorhanden sein.
Der Standardwert ist auto-detect.
Dienstkonto-JSON-Datei Ja Nein Wird nur verwendet, wenn der Wert des Dienstkontotyps JSON ist. Der Inhalt der JSON-Datei des Dienstkontos.
Referenzname Nein Ja Name, der diese Quelle für andere Dienste eindeutig identifiziert, z. B. die Herkunft und das Annotieren von Metadaten.
Dataset Ja Ja Das Dataset, zu dem die Tabelle gehört. Ein Dataset ist in einem bestimmten Projekt enthalten. Datasets sind Container auf oberster Ebene, mit denen der Zugriff auf Tabellen und Ansichten organisiert und gesteuert wird.
Tabelle Ja Ja Die Tabelle, aus der gelesen werden soll. Eine Tabelle enthält einzelne Datensätze, die in Zeilen angeordnet sind. Jeder Datensatz besteht aus Spalten (auch Felder genannt). Jede Tabelle wird durch ein Schema definiert, das Spaltennamen, Datentypen und weitere Informationen beschreibt.
Startdatum der Partition Ja Nein Startdatum der inklusiven Partition, angegeben als yyyy-mm-dd. Wenn kein Wert angegeben ist, werden alle Partitionen bis zum Enddatum der Partition gelesen.
Enddatum der Partition Ja Nein Enddatum der exklusiven Partition, angegeben als yyyy-mm-dd. Wenn kein Wert angegeben ist, werden alle Partitionen ab dem Startdatum der Partition gelesen.
Filter Ja Nein Eine SQL-Abfrage, die nach den gegebenen Bedingungen filtert. Diese Abfrage gibt beispielsweise alle Zeilen aus der Tabelle Roster zurück, bei denen die Spalte SchoolID den Wert SchoolID > 52 hat:
SELECT * FROM Roster WHERE SchoolID > 52;. Dies entspricht der WHERE-Klausel in BigQuery.
Name des temporären Buckets Ja Nein Der Cloud Storage-Bucket für die temporäre Datenspeicherung. Er wird automatisch erstellt, wenn er noch nicht vorhanden ist. Temporäre Daten werden nach dem Lesen gelöscht. Wenn kein Name angegeben ist, wird ein eindeutiger Bucket erstellt und nach Abschluss der Ausführung gelöscht.
Name des Verschlüsselungsschlüssels Ja Nein Schlüssel, der Daten verschlüsselt, die in einen vom Plug-in erstellten Bucket geschrieben werden. Wenn der Bucket vorhanden ist, wird dieser Wert ignoriert. Weitere Informationen finden Sie unter CMEK.
Abfragen von Ansichten aktivieren Ja Nein Gibt an, ob logische und materialisierte BigQuery-Ansichten zugelassen werden sollen. Da BigQuery-Ansichten nicht standardmäßig aktiviert sind, können durch Abfragen ein Leistungsaufwand entstehen.
Der Standardwert ist „Nein“.
Projekt zum Erstellen einer temporären Tabelle Ja Nein Wird nur verwendet, wenn Abfrageansichten aktivieren aktiviert ist. Der Name des Projekts, in dem die temporäre Tabelle erstellt werden soll. Die Standardeinstellung ist das Projekt, in dem sich die Tabelle befindet.
Dataset zur Erstellung temporärer Tabellen Ja Nein Das Dataset im angegebenen Projekt, in dem die temporäre Tabelle erstellt werden soll. Die Standardeinstellung ist das Dataset, in dem sich die Tabelle befindet.
Ausgabeschema Ja Ja Schema der zu lesenden Tabelle. Sie können es abrufen, indem Sie auf Schema abrufen klicken.

Datentypzuordnungen

Die folgende Tabelle enthält eine Liste von BigQuery-Datentypen mit entsprechenden CDAP-Typen.

BigQuery-Datentyp CDAP-Schemadatentyp
BOOL boolean
BYTES bytes
DATE date
DATETIME datetime, string
FLOAT64 double
GEO unsupported
INT64 long
NUMERIC decimal
BIGNUMERIC decimal
REPEATED array
STRING string, datetime (ISO 8601-Format)
STRUCT record
TIME time (Mikrosekunden)
TIMESTAMP timestamp (Mikrosekunden)
JSON unsupported

Nächste Schritte