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 in einen temporären Speicherort in Cloud Storage exportiert und dann von dort in die Pipeline gelesen.

Hinweis

Cloud Data Fusion hat in der Regel zwei Dienstkonten:

Bevor Sie das BigQuery-Batchquellen-Plug-in verwenden, weisen Sie jedem Dienstkonto die folgenden Rollen oder Berechtigungen zu.

Cloud Data Fusion API-Dienst-Agent

Dieses Dienstkonto hat bereits alle erforderlichen Berechtigungen. Sie müssen keine zusätzlichen Berechtigungen hinzufügen. Sie 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 Designzeit ein Namespace-Dienstkonto verwenden, fügen Sie ihm die Berechtigungen aus der vorherigen Liste hinzu.

Compute Engine-Dienstkonto

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

  • BigQuery Job User (roles/bigquery.jobUser): Diese vordefinierte Rolle enthält die erforderliche Berechtigung bigquery.jobs.create.
  • BigQuery-Dateneditor (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 für den Cloud Storage-Bucket zugewiesen werden.

Plug-in konfigurieren

  1. Rufen Sie die Cloud Data Fusion-Web-UI auf und klicken Sie auf Studio.
  2. Prüfen Sie, ob Datenpipeline – Batch (nicht Echtzeit) ausgewählt ist.
  3. Klicken Sie im Menü Quelle auf BigQuery. Der BigQuery-Knoten wird in Ihrer Pipeline angezeigt.
  4. Wenn Sie die Quelle konfigurieren möchten, rufen Sie den BigQuery-Knoten auf und klicken Sie auf Properties (Attribute).
  5. Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Properties.

    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 Einmalverbindung oder eine vorhandene, wiederverwendbare Verbindung einrichten.

      Neue Verbindung

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

      1. Lassen Sie im Feld Project ID (Projekt-ID) den Wert „auto-detect“ (automatisch erkennen) stehen.
      2. Wenn sich das BigQuery-Dataset in einem anderen Projekt befindet, geben Sie die ID in das 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 Verbindungsnamen, z. B. BigQuery Default.

      4. Optional: Wenn keine Verbindung besteht 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 für die Herkunft ein.

    4. Optional: Wenn Ihr Dataset bereits in Ihrer Instanz 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 Verbindung zu testen.

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

    9. Optional: Geben Sie im Feld Partitionsenddatum den String für das inklusive 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 Cloud KMS-Verschlüsselungsschlüssels (Cloud Key Management Service) ein. Weitere Informationen finden Sie unter Ressourcennamen für den Schlüssel abrufen.

    13. Optional: Aktivieren Sie Abfrage von Ansichten 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 für die Erstellung 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 Ihre Datenpipeline in der Cloud Data Fusion-Weboberfläche weiter erstellen.

Eigenschaften

Attribut Makro aktiviert Erforderliche Property 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 in diesem Feld der Name der wiederverwendbaren Verbindung angezeigt, die Sie auswählen.
Projekt-ID Ja Nein Wird nur verwendet, wenn Verbindung verwenden deaktiviert ist. Eine weltweit eindeutige Kennung 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 als dem befindet, in dem der BigQuery-Job ausgeführt wird, ist dieser Wert die global eindeutige ID für das Projekt mit dem BigQuery-Dataset. Wenn kein Wert angegeben ist, wird standardmäßig der Wert der Projekt-ID verwendet. Dem angegebenen Dienstkonto muss die Rolle „BigQuery-Datenbetrachter“ zugewiesen 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 für „Service account type“ (Dienstkontotyp) File path (Dateipfad) ist. Der Pfad im lokalen Dateisystem des Dienstkontoschlüssels, der für die Autorisierung verwendet wird. Wenn Jobs in Managed Service for Apache Spark-Clustern ausgeführt werden, legen Sie den Wert auf „auto-detect“ fest. Wenn Jobs auf anderen Clustertypen ausgeführt werden, muss die Datei auf jedem Knoten im Cluster vorhanden sein.
Der Standardwert ist auto-detect.
JSON-Dienstkonto Ja Nein Wird nur verwendet, wenn der Wert für „Service account type“ (Dienstkontotyp) JSON ist. Der Inhalt der JSON-Datei des Dienstkontos.
Referenzname Nein Ja Name, der diese Quelle für andere Dienste wie Datenverlaufskontrolle und Annotieren von Metadaten eindeutig identifiziert.
Dataset Ja Ja Das Dataset, zu dem die Tabelle gehört. Datasets sind Bestandteil eines bestimmten Projekts. Datasets sind Container auf oberster Ebene, mit denen Sie den Zugriff auf Tabellen und Ansichten organisieren und steuern können.
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 unter anderem Informationen zu Spaltennamen und Datentypen enthält.
Startdatum der Partition Ja Nein Das Startdatum der Partitionierung (einschließlich) wird als yyyy-mm-dd angegeben. Wenn kein Wert angegeben ist, werden alle Partitionen bis zum Enddatum der Partition gelesen.
Partitionsenddatum Ja Nein Ausschließliches Partitionsenddatum, 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 angegebenen Bedingungen filtert. Mit dieser Abfrage werden beispielsweise alle Zeilen aus der Tabelle Roster zurückgegeben, in denen die Spalte SchoolID den Wert SchoolID > 52 hat:
SELECT * FROM Roster WHERE SchoolID > 52;. Das entspricht der WHERE-Klausel in BigQuery.
Name des temporären Buckets Ja Nein Der Cloud Storage-Bucket für die temporäre Datenspeicherung. Es wird automatisch erstellt, wenn es nicht vorhanden ist. Temporäre Daten werden nach dem Lesen gelöscht. Wenn kein Name angegeben wird, wird ein eindeutiger Bucket erstellt und nach Abschluss des Laufs gelöscht.
Name des Verschlüsselungsschlüssels Ja Nein Schlüssel, mit dem Daten verschlüsselt werden, die in einen vom Plug-in erstellten Bucket geschrieben werden. Wenn der Bucket bereits 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 zulässig sind. Da BigQuery-Ansichten nicht standardmäßig aktiviert sind, kann das Abfragen von Ansichten zu Leistungseinbußen führen.
Der Standardwert ist „Nein“.
Projekt zum Erstellen temporärer Tabellen Ja Nein Wird nur verwendet, wenn Abfragen von Ansichten aktivieren aktiviert ist. Der Projektname, unter dem die temporäre Tabelle erstellt werden soll. Standardmäßig wird dasselbe Projekt verwendet, in dem sich die Tabelle befindet.
Dataset zum Erstellen temporärer Tabellen Ja Nein Das Dataset im angegebenen Projekt, in dem die temporäre Tabelle erstellt werden soll. Standardmäßig wird dasselbe Dataset verwendet, in dem sich die Tabelle befindet.
Ausgabeschema Ja Ja Schema der Tabelle, die gelesen werden soll. Sie können es abrufen, indem Sie auf Schema abrufen klicken.

Datentypzuordnungen

In der folgenden Tabelle finden Sie eine Liste der BigQuery-Datentypen mit den 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