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:
- Dienstkonto zur Laufzeit: Cloud Data Fusion API-Dienst-Agent
- Dienstkonto für die Ausführungszeit: Compute Engine-Dienstkonto
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 Berechtigungbigquery.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
- Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
- Achten Sie darauf, dass Datenpipeline – Batch ausgewählt ist (nicht Echtzeit).
- Klicken Sie im Menü Quelle auf BigQuery. Der BigQuery-Knoten wird in Ihrer Pipeline angezeigt.
- Klicken Sie zum Konfigurieren der Quelle auf den BigQuery-Knoten und dann auf Properties.
Geben Sie die folgenden Properties ein. Eine vollständige Liste finden Sie unter Properties.
- Geben Sie ein Label für den BigQuery-Knoten ein, z. B.
BigQuery tables
. 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:
- Lassen Sie im Feld Project ID (Projekt-ID) den Wert „auto-detect“ (automatisch erkennen) beibehalten.
- Wenn sich das BigQuery-Dataset in einem anderen Projekt befindet, geben Sie die ID in das Feld Dataset-Projekt-ID ein.
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:
- Aktivieren Sie Verbindung verwenden.
- Klicken Sie auf Verbindungen durchsuchen.
Klicken Sie auf den Verbindungsnamen, z. B. BigQuery Standard.
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.
Geben Sie im Feld Referenzname einen Namen für die Abstammung ein.
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.
Geben Sie im Feld Dataset den Namen des Datasets ein, das die Tabelle enthält.
Geben Sie im Feld Tabelle den Namen der Tabelle ein.
Klicken Sie auf Schema abrufen, um die Verbindung zu testen.
Optional: Geben Sie im Feld Partitionsstartdatum den String für das inklusive Startdatum ein, z. B.
2021-01-11
.Optional: Geben Sie im Feld Enddatum der Partition den String für das Enddatum ein, einschließlich des Enddatums, z. B.
2024-01-11
.Optional: Geben Sie im Feld Filter eine BigQuery-
WHERE
-Klausel ein.Optional: Geben Sie im Feld Name des temporären Buckets einen Namen für den Cloud Storage-Bucket ein.
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.
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.
Optional: Klicken Sie auf Validieren und beheben Sie alle gefundenen Fehler.
Klicken Sie auf
Schließen. Die Eigenschaften werden gespeichert und Sie können Ihre Datenpipeline in der Cloud Data Fusion-Weboberfläche weiter erstellen.
- Geben Sie ein Label für den BigQuery-Knoten ein, z. B.
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 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 |