Copiare dati da Google BigQuery usando Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo illustra come usare l'attività di copia nelle pipeline di Azure Data Factory e Synapse Analytics per copiare dati da Google BigQuery. Si basa sull'articolo di panoramica dell'attività di copia che presenta informazioni generali sull'attività di copia.

Importante

Il nuovo connettore Google BigQuery offre un supporto di Google BigQuery nativo migliorato. Se si usa il connettore Google BigQuery legacy nella soluzione, supportato così come è solo per la compatibilità con le versioni precedenti, vedere l'articolo Connettore Google BigQuery (legacy).

Funzionalità supportate

Questo connettore Google BigQuery è supportato per le funzionalità seguenti:

Funzionalità supportate IR
attività Copy (source/-) (1) (2)
Attività Lookup (1) (2)

(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted

Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.

Il servizio fornisce un driver predefinito per abilitare la connettività. Non è pertanto necessario installare manualmente un driver per usare questo connettore.

Nota

Questo connettore Google BigQuery si basa sulle API BigQuery. Tenere presente che BigQuery limita la velocità massima delle richieste in arrivo e applica le quote appropriate in base al progetto: vedere la sezione Quotas & Limits - API requests (Limiti e quote - Richieste API). Assicurarsi di non attivare troppe richieste simultanee verso l'account.

Operazioni preliminari

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato a Google BigQuery usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a Google BigQuery nell'interfaccia utente di portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare Google BigQuery e selezionare il connettore.

    Screenshot del connettore Google BigQuery.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione del servizio collegato per Google BigQuery.

Dettagli di configurazione di Connessione or

Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà usate per definire entità specifiche del connettore Google BigQuery.

Proprietà del servizio collegato

Per il servizio collegato Google BigQuery sono supportate le proprietà seguenti.

Proprietà Descrizione Richiesto
type La proprietà type deve essere impostata su GoogleBigQueryV2.
projectId ID di progetto del progetto BigQuery su cui eseguire query.
authenticationType Meccanismo di autenticazione OAuth 2.0 usato per l'autenticazione.
I valori consentiti sono UserAuthentication e ServiceAuthentication. Fare riferimento alle sezioni sotto questa tabella per altre proprietà e altri esempi JSON per questi tipi di autenticazione.

Uso dell'autenticazione utente

Impostare la proprietà "authenticationType" su UserAuthentication e specificare le proprietà seguenti insieme alle proprietà generiche descritte nella precedente sezione:

Proprietà Descrizione Richiesto
clientId ID dell'applicazione usata per generare il token di aggiornamento.
clientSecret Segreto dell'applicazione usata per generare il token di aggiornamento. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault.
refreshToken Token di aggiornamento ottenuto da Google e usato per autorizzare l'accesso a BigQuery. Per informazioni su come ottenerne uno, vedere Obtaining OAuth 2.0 access tokens (Ottenere token di accesso OAuth 2.0) e questo blog della community. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault.

Esempio:

{
    "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>"
            }
        }
    }
}

Uso dell'autenticazione del servizio

Impostare la proprietà "authenticationType" su ServiceAuthentication e specificare le proprietà seguenti insieme alle proprietà generiche descritte nella precedente sezione.

Proprietà Descrizione Richiesto
keyFileContent File di chiave in formato JSON usato per autenticare l'account del servizio. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault.

Esempio:

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

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati. Questa sezione presenta un elenco delle proprietà supportate dal set di dati di Google BigQuery.

Per copiare dati da Google BigQuery, impostare la proprietà type del set di dati su GoogleBigQueryV2Object. Sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
type La proprietà type del set di dati deve essere impostata su: GoogleBigQueryV2Object
set di dati Nome del set di dati Google BigQuery. No (se nell'origine dell'attività è specificato "query")
table Nome della tabella. No (se nell'origine dell'attività è specificato "query")

Esempio

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

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dal tipo di origine Google BigQuery.

GoogleBigQuerySource come tipo di origine

Per copiare dati da Google BigQuery, impostare il tipo di origine nell'attività di copia su GoogleBigQueryV2Source. Nella sezione source dell'attività di copia sono supportate le proprietà seguenti.

Proprietà Descrizione Richiesto
type La proprietà type dell'origine dell'attività di copia deve essere impostata su GoogleBigQueryV2Source.
query Usare la query SQL personalizzata per leggere i dati. Un esempio è "SELECT * FROM MyTable". Per altre informazioni, vedere Sintassi di query. No (se sono specificati "set di dati" e "table" nel set di dati)

Esempio:

"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>"
            }
        }
    }
]

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Aggiornare il servizio collegato Google BigQuery

Per aggiornare il servizio collegato Google BigQuery, creare un nuovo servizio collegato Google BigQuery e configurarlo facendo riferimento alle proprietà del servizio collegato.

Differenze tra Google BigQuery e Google BigQuery (legacy)

Il connettore Google BigQuery offre nuove funzionalità ed è compatibile con la maggior parte delle funzionalità del connettore Google BigQuery (legacy). La tabella seguente mostra le differenze di funzionalità tra Google BigQuery e Google BigQuery (legacy).

Google BigQuery Google BigQuery (legacy)
L'autenticazione del servizio è supportata dal runtime di integrazione di Azure e dal runtime di integrazione self-hosted.
Le proprietà trustedCertPath, useSystemTrustStore, email e keyFilePath non sono supportate perché sono disponibili solo nel runtime di integrazione self-hosted.
L'autenticazione del servizio è supportata solo dal runtime di integrazione self-hosted.
Supporta trustedCertPath, usaSystemTrustStore, la posta elettronica e le proprietà keyFilePath.
I mapping seguenti vengono usati dai tipi di dati Google BigQuery ai tipi di dati provvisori usati internamente dal servizio.

Numerico -> Decimal
Timestamp -> DateTimeOffset
Datetime -> DatetimeOffset
I mapping seguenti vengono usati dai tipi di dati Google BigQuery ai tipi di dati provvisori usati internamente dal servizio.

Numeric -> String
Timestamp -> DateTime
Datetime -> DateTime
requestGoogleDriveScope non è supportato. È inoltre necessario applicare l'autorizzazione nel servizio Google BigQuery facendo riferimento a Scegliere gli ambiti dell'API Google Drive e i dati di Query Drive. Richiesta di supportoGoogleDriveScope.
additionalProjects non è supportato. In alternativa, eseguire una query su un set di dati pubblico con la console di Google Cloud. Supportare altriProgetti.

Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere Archivi dati supportati.