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 eine Verbindung zu BigQuery-Tabellen herstellen und Daten daraus laden. Daten aus einer BigQuery-Tabelle werden an einen temporären Speicherort in Cloud Storage exportiert und von dort in die Pipeline gelesen.

Hinweis

Cloud Data Fusion hat in der Regel zwei Dienstkonten:

Bevor Sie das BigQuery-Batch-Quell-Plug-in verwenden, müssen Sie jedem Dienstkonto die folgenden Rollen oder Berechtigungen zuweisen.

Cloud Data Fusion API-Dienst-Agent

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

Compute Engine-Dienstkonto

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

  • BigQuery-Jobnutzer (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 dem BigQuery-Dataset oder der BigQuery-Tabelle zugewiesen werden.

  • Autor alter 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 dem Cloud Storage-Bucket zugewiesen werden.

Plug-in konfigurieren

  1. Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
  2. Achten Sie darauf, dass Datenpipeline – Batch ausgewählt ist (nicht Echtzeit).
  3. Klicken Sie im Menü Quelle auf BigQuery. Der BigQuery-Knoten wird in Ihrer Pipeline angezeigt.
  4. Klicken Sie zum Konfigurieren der Quelle auf den BigQuery-Knoten und dann auf Properties.
  5. Geben Sie die folgenden Properties 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 einmalige Verbindung 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) beibehalten.
      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 in das nächste 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 Standard.

      4. Optional: Wenn noch 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.

    3. Geben Sie im Feld Referenzname einen Namen für die Abstammung ein.

    4. Optional: Wenn Ihr Datensatz bereits in Ihrer Instanz verfügbar ist, klicken Sie auf Durchsuchen und wählen Sie die Daten aus, die gelesen werden sollen.

    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 Partitionsstartdatum den String für das inklusive Startdatum ein, z. B. 2021-01-11.

    9. Optional: Geben Sie im Feld Enddatum der Partition den String für das Enddatum ein, einschließlich des Enddatums, 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 Ansichtsabfragen aktivieren. Wenn Sie sie aktivieren, gehen Sie so vor:

      • Geben Sie im Feld Projekt zum Erstellen der temporären Tabelle den Namen des Projekts ein, in dem die temporäre Tabelle erstellt wird.
      • Geben Sie im Feld Dataset für die Erstellung der temporären Tabelle 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.

Attribute

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 von 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 ausgewählten wiederverwendbaren Verbindung angezeigt.
Projekt-ID Ja Nein Wird nur verwendet, wenn Verbindung verwenden deaktiviert ist. Eine global eindeutige Kennung für das Projekt, in dem der BigQuery-Job ausgeführt wird.
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 Kennung für das Projekt mit dem BigQuery-Dataset. Wenn kein Wert angegeben ist, wird standardmäßig der Wert Projekt-ID verwendet. Dem angegebenen Dienstkonto muss die Rolle „BigQuery-Datenbetrachter“ zugewiesen werden, damit es BigQuery-Daten im Projekt lesen kann.
Typ des Dienstkontos Ja Nein Wählen Sie eine der folgenden Optionen aus:
  • Dateipfad: Der Pfad, in dem sich das Dienstkonto befindet.
  • JSON: JSON-Inhalt des Dienstkontos.
Dateipfad des Dienstkontos Ja Nein Wird nur verwendet, wenn der Wert für den Dienstkontotyp 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, legen Sie den Wert auf „Automatische Erkennung“ fest. Wenn Jobs in 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 „Typ des Dienstkontos“ JSON ist. Der Inhalt der JSON-Datei des Dienstkontos.
Referenzname Nein Ja Name, der diese Quelle eindeutig für andere Dienste identifiziert, z. B. für die Datenverlaufskontrolle und das Annotieren von Metadaten.
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 Einschließendes Startdatum der Partition, angegeben als yyyy-mm-dd. Wenn kein Wert angegeben wird, werden alle Partitionen bis zum Enddatum der Partition gelesen.
Enddatum der Partition Ja Nein Exklusives 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:
SELECT * FROM Roster WHERE SchoolID > 52; enthält. 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 der Ausführung 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 wurden. Wenn der Bucket bereits vorhanden ist, wird dieser Wert ignoriert. Weitere Informationen finden Sie unter CMEK.
Ansichtsabfragen aktivieren Ja Nein Ob BigQuery-logische und -materialisierte Ansichten zulässig sind. Da BigQuery-Ansichten standardmäßig nicht aktiviert sind, kann die Abfrage dieser Ansichten zu Leistungseinbußen führen.
Der Standardwert ist „Nein“.
Projekt zum Erstellen temporärer Tabellen Ja Nein Wird nur verwendet, wenn Abfrageansichten aktivieren aktiviert ist. Der Name des Projekts, in dem die temporäre Tabelle erstellt werden soll. Standardmäßig ist das Projekt festgelegt, 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 ist das Dataset festgelegt, 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

In der folgenden Tabelle sind BigQuery-Datentypen mit den entsprechenden CDAP-Typen aufgeführt.

BigQuery-Datentyp CDAP-Schema-Datentyp
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