Kopieren von Daten aus Google BigQuery mithilfe von Azure Data Factory oder Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie die Copy-Aktivität in Azure Data Factory- und Synapse Analytics-Pipelines verwenden, um Daten aus Google BigQuery zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.

Wichtig

Der neue Google BigQuery-Connector bietet verbesserte native Google BigQuery-Unterstützung. Wenn Sie die Legacy-Version des Google BigQuery-Connectors in Ihrer Lösung verwenden, die lediglich aus Gründen der Abwärtskompatibilität unverändert unterstützt wird, finden Sie entsprechende Informationen im Artikel Google BigQuery-Connector (Legacy).

Unterstützte Funktionen

Für den Google BigQuery-Connector werden die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/-) ① ②
Lookup-Aktivität ① ②

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.

Der Dienst enthält einen integrierten Treiber zum Herstellen der Konnektivität. Aus diesem Grund müssen Sie Treiber für die Verwendung dieses Connectors nicht manuell installieren.

Hinweis

Dieses Google BigQuery-Connector wird basierend auf den BigQuery-APIs erstellt. Beachten Sie, dass BigQuery die maximale Rate eingehender Anforderung begrenzt und entsprechende Kontingente projektbezogen durchsetzt, siehe Kontingente & Limits – API-Anfragen. Stellen Sie sicher, dass Sie nicht zu viele gleichzeitige Anforderungen für das Konto auslösen.

Erste Schritte

Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:

Erstellen eines verknüpften Dienstes mit Google BigQuery über die Benutzeroberfläche

Gehen Sie wie folgt vor, um einen verknüpften Dienst mit Google BigQuery in der Benutzeroberfläche des Azure-Portals zu erstellen.

  1. Navigieren Sie zur Registerkarte Verwalten in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich, wählen Sie Verknüpfte Dienste und klicken Sie dann auf Neu:

  2. Suchen Sie nach Google BigQuery, und wählen Sie den Connector aus.

    Screenshot des Google BigQuery Connectors.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Screenshot der Konfiguration des verknüpften Dienstes für Google BigQuery.

Details zur Konfiguration des Connectors

Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zur Definition von Entitäten verwendet werden, die für den Google BigQuery Connector spezifisch sind.

Eigenschaften des verknüpften Diensts

Folgende Eigenschaften werden für den mit Google BigQuery verknüpften Dienst unterstützt:

Eigenschaft Beschreibung Erforderlich
Typ Die „type“-Eigenschaft muss auf GoogleBigQueryV2 festgelegt werden. Ja
projectId Das Projekt-ID des BigQuery-Standardprojekts, das abgefragt werden soll. Ja
authenticationType Der für die Authentifizierung verwendete OAuth 2.0-Authentifizierungsmechanismus.
Zulässige Werte sind UserAuthentication und ServiceAuthentication. Weitere Eigenschaften und JSON-Beispiele für diese Authentifizierungstypen finden Sie in den Abschnitten nach dieser Tabelle.
Ja

Verwenden der Benutzerauthentifizierung

Legen Sie die Eigenschaft „authenticationType“ auf UserAuthentication fest, und geben Sie zusammen mit den im vorherigen Abschnitt beschriebenen generischen Eigenschaften die folgenden Eigenschaften an:

Eigenschaft Beschreibung Erforderlich
clientId Die ID der Anwendung, die verwendet wird, um das Aktualisierungstoken zu generieren. Ja
clientSecret Das Geheimnis der Anwendung, das verwendet wird, um das Aktualisierungstoken zu generieren. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Ja
refreshToken Das Aktualisierungstoken, das von Google für die Autorisierung des Zugriffs auf BigQuery abgerufen wird. Informationen dazu, wie Sie ein Token erhalten, finden Sie unter Abrufen von OAuth 2.0-Zugriffstoken und in diesem Communityblog. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Ja

Beispiel:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "typeProperties": {
            "projectId" : "<project ID>",
            "authenticationType" : "UserAuthentication",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "SecureString",
                "value":"<client secret>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

Verwenden der Dienstauthentifizierung

Legen Sie die Eigenschaft „authenticationType“ auf ServiceAuthentication fest, und geben Sie zusammen mit den im vorherigen Abschnitt beschriebenen generischen Eigenschaften die folgenden Eigenschaften an.

Eigenschaft Beschreibung Erforderlich
keyFileContent Die Schlüsseldatei im JSON-Format, die zum Authentifizieren des Dienstkontos verwendet wird. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Ja

Beispiel:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "typeProperties": {
            "projectId": "<project ID>",
            "authenticationType": "ServiceAuthentication",
            "keyFileContent": {
                "type": "SecureString",
                "value": "<key file JSON string>"
            }
        }
    }
}

Dataset-Eigenschaften

Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Google BigQuery-Dataset unterstützt werden.

Legen Sie zum Kopieren von Daten aus Google BigQuery die „type“-Eigenschaft des Datasets auf GoogleBigQueryV2Object fest. Folgende Eigenschaften werden unterstützt:

Eigenschaft Beschreibung Erforderlich
Typ Die type-Eigenschaft des Datasets muss auf GoogleBigQueryV2Object festgelegt sein. Ja
dataset Name des Google BigQuery-Datasets. Nein (wenn „query“ in der Aktivitätsquelle angegeben ist)
table Der Name der Tabelle. Nein (wenn „query“ in der Aktivitätsquelle angegeben ist)

Beispiel

{
    "name": "GoogleBigQueryDataset",
    "properties": {
        "type": "GoogleBigQueryV2Object",
        "linkedServiceName": {
            "referenceName": "<Google BigQuery linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "dataset": "<dataset name>",
            "table": "<table name>"
        }
    }
}

Eigenschaften der Kopieraktivität

Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Google BigQuery-Quelltyp unterstützt werden.

GoogleBigQuerySource als Quelltyp

Legen Sie zum Kopieren von Daten aus Google BigQuery den Quelltyp in der Kopieraktivität auf GoogleBigQueryV2Source fest. Die folgenden Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt.

Eigenschaft Beschreibung Erforderlich
Typ Die „type“-Eigenschaft der Quelle der Kopieraktivität muss auf GoogleBigQueryV2Source festgelegt werden. Ja
Abfrage Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. z. B. "SELECT * FROM MyTable". Weitere Informationen finden Sie unter Abfragesyntax. Nein (wenn „dataset“ und „table“ im Dataset angegeben sind)

Beispiel:

"activities":[
    {
        "name": "CopyFromGoogleBigQuery",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Google BigQuery input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleBigQueryV2Source",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Upgrade des verknüpften Google BigQuery-Diensts

Für das Upgrade des verknüpften Google BigQuery-Diensts erstellen Sie einen neuen verknüpften Google BigQuery-Dienst und konfigurieren ihn anhand der Informationen unter Eigenschaften des verknüpften Diensts.

Unterschiede zwischen Google BigQuery und Google BigQuery (Legacy)

Der Google BigQuery-Connector bietet neue Funktionen und ist mit den meisten Features des Google BigQuery-Connector (Legacy) kompatibel. Die folgende Tabelle zeigt die Unterschiede der Features zwischen Google BigQuery und Google BigQuery (Legacy).

Google BigQuery Google BigQuery (Legacy)
Die Dienstauthentifizierung wird von der Azure Integration Runtime und der selbstgehosteten Integration Runtime unterstützt.
Die Eigenschaften „trustedCertPath“, „useSystemTrustStore“, „email“ und „keyFilePath“ werden nicht unterstützt, da sie nur für die selbstgehostete Integration Runtime verfügbar sind.
Die Dienstauthentifizierung wird nur von der selbstgehosteten Integration Runtime unterstützt.
Unterstützt werden die trustedCertPath-, useSystemTrustStore-, email- und keyFilePath-Eigenschaften.
Die folgenden Zuordnungen werden von Google BigQuery-Datentypen zu Zwischendatentypen verwendet, die intern vom Dienst verwendet werden.

Numeric -> Decimal
Timestamp -> DateTimeOffset
Datetime -> DatetimeOffset
Die folgenden Zuordnungen werden von Google BigQuery-Datentypen zu Zwischendatentypen verwendet, die intern vom Dienst verwendet werden.

Numeric -> String
Timestamp -> DateTime
Datetime -> DateTime
requestGoogleDriveScope wird nicht unterstützt. Sie müssen zusätzlich die Berechtigung im Google BigQuery-Dienst anwenden, indem Sie auf Google Drive API-Bereiche auswählen und Drive-Daten abfragen verweisen. Unterstützung für requestGoogleDriveScope.
additionalProjects wird nicht unterstützt. Alternative: Öffentliches Dataset mit der Google Cloud Console abfragen. Unterstützung für additionalProjects.

Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in Unterstützte Datenspeicher.