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:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- The Python SDK
- Azure PowerShell
- The REST API
- Modello di Azure Resource Manager
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.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:
Cercare Google BigQuery e selezionare il connettore.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
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. | Sì |
projectId | ID di progetto del progetto BigQuery su cui eseguire query. | Sì |
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. |
Sì |
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. | Sì |
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. | Sì |
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. | Sì |
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. | Sì |
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 | Sì |
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. | Sì |
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. |
Contenuto correlato
Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere Archivi dati supportati.