Copiar dados do Google BigQuery V1 usando o Azure Data Factory ou o Synapse Analytics
APLICA-SE A: Azure Data Factory
Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!
Este artigo descreve como usar a atividade de cópia nos pipelines do Azure Data Factory e do Synapse Analytics para copiar dados de uma tabela do Google BigQuery. Ele amplia o artigo Visão geral da Atividade de Cópia que apresenta uma visão geral da atividade de cópia.
Importante
O conector Google BigQuery V2 fornece suporte nativo aprimorado ao Google BigQuery. Se você estiver usando o conector do Google BigQuery V1 em sua solução, atualize o conector Google BigQuery, pois a V1 está na fase de fim do suporte. Consulte esta seção para obter detalhes sobre a diferença entre V2 e V1.
Funcionalidades com suporte
O conector Google BigQuery é compatível com as seguintes funcionalidades:
Funcionalidades com suporte | IR |
---|---|
Atividade de cópia (origem/-) | ① ② |
Atividade de pesquisa | ① ② |
① Runtime de integração do Azure ② Runtime de integração auto-hospedada
Para obter uma lista de armazenamentos de dados que têm suporte como fontes ou coletores da atividade de cópia, confira a tabela Armazenamentos de dados com suporte.
O serviço fornece um driver interno para habilitar a conectividade. Portanto, você não precisa instalar manualmente um driver para usar esse conector.
O conector dá suporte às versões do Windows incluídas nesse artigo.
Observação
Este conector do Google BigQuery baseia-se sobre as APIs do BigQuery. Lembre-se de que os limites de BigQuery a taxa máxima de recebimento de solicitações e impõe cotas apropriadas em uma base por projeto, consulte cotas e limites - solicitações da API. Verifique se que você não disparam muitas solicitações simultâneas para a conta.
Pré-requisitos
Para usar esse conector, você precisa das seguintes permissões mínimas do Google BigQuery:
- bigquery.connections.*
- bigquery.datasets.*
- bigquery.jobs.*
- bigquery.readsessions.*
- bigquery.routines.*
- bigquery.tables.*
Introdução
Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:
- A ferramenta Copiar Dados
- O portal do Azure
- O SDK do .NET
- O SDK do Python
- PowerShell do Azure
- A API REST
- O modelo do Azure Resource Manager
Criar um serviço vinculado ao Google BigQuery usando a interface do usuário
Use as etapas a seguir para criar um serviço vinculado ao Google BigQuery na interface do usuário do portal do Microsoft Azure.
Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou do Synapse e selecione Serviços Vinculados, em seguida, clique em Novo:
Pesquise por Google e selecione o conector Google BigQuery.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Detalhes da configuração do conector
As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades específicas do conector Google BigQuery.
Propriedades do serviço vinculado
As propriedades a seguir têm suporte no serviço vinculado do Google BigQuery.
Propriedade | Descrição | Obrigatório |
---|---|---|
type | A propriedade type deve ser definida como Google BigQuery. | Sim |
project | A ID de projeto do projeto padrão do BigQuery para consulta. | Sim |
additionalProjects | Uma lista de IDs de projeto separadas por vírgulas dos projetos públicos do BigQuery para acesso. | Não |
requestGoogleDriveScope | Se deve solicitar acesso ao Google Drive. Permitir o acesso ao Google Drive habilita o suporte para tabelas federadas que combinam dados do BigQuery com dados do Google Drive. O valor padrão é false. | Não |
authenticationType | O mecanismo de autenticação OAuth 2.0 usado para autenticação. ServiceAuthentication só pode ser usado em Integration Runtime auto-hospedado. Os valores permitidos são UserAuthentication e ServiceAuthentication. Consulte as seções abaixo desta tabela para mais propriedades e amostras JSON para esses tipos de autenticação, respectivamente. |
Sim |
Usar a autenticação do usuário
Defina a propriedade "authenticationType" para UserAuthentication e especifique as propriedades a seguir juntamente com as propriedades genéricas descritas na seção anterior:
Propriedade | Descrição | Obrigatório |
---|---|---|
clientId | ID do aplicativo usado para gerar o token de atualização. | Sim |
clientSecret | Segredo do aplicativo usado para gerar o token de atualização. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. | Sim |
refreshToken | O token de atualização obtido no Google usado para autorizar o acesso ao BigQuery. Saiba como obter um em Obter tokens de acesso do OAuth 2.0 e no blog desta comunidade. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. | Sim |
O escopo mínimo necessário para obter um token de atualização OAuth 2.0 é https://www.googleapis.com/auth/bigquery.readonly
. Se você planeja executar uma consulta que pode retornar resultados grandes, outro escopo pode ser necessário. Para obter mais informações, consulte este artigo.
Exemplo:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
Usar autenticação de serviço
Defina a propriedade "authenticationType" para ServiceAuthentication e especifique as propriedades a seguir juntamente com as propriedades genéricas descritas na seção anterior. Esse tipo de autenticação pode ser usado somente no Integration Runtime auto-hospedado.
Propriedade | Descrição | Obrigatório |
---|---|---|
A ID de e-mail da conta de serviço que é usada para ServiceAuthentication. Só pode ser usado em Integration Runtime auto-hospedado. | Não | |
keyFilePath | O caminho completo para o arquivo de chave .json usado para autenticar o endereço de email da conta de serviço. |
Sim |
trustedCertPath | O caminho completo do arquivo .pem que contém certificados AC confiáveis usados para verificar o servidor ao se conectar via TLS. Essa propriedade pode ser definida somente quando você usa o TLS em um runtime de integração auto-hospedada. O valor padrão é o arquivo de cacerts.pem instalado com o runtime de integração. | Não |
useSystemTrustStore | Especifica se deve usar um certificado de autoridade de certificação do repositório de confiança de sistema ou de um arquivo .pem especificado. O valor padrão é false. | Não |
Observação
O conector não dá mais suporte aos arquivos de chave P12. Se você depender das contas de serviço, recomendamos que você use arquivos de chave JSON. A propriedade P12CustomPwd usada para dar suporte ao arquivo de chave P12 também foi preterida. Para obter mais informações, consulte este artigo.
Exemplo:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project id>",
"requestGoogleDriveScope" : true,
"authenticationType" : "ServiceAuthentication",
"email": "<email>",
"keyFilePath": "<.json key path on the IR machine>"
},
"connectVia": {
"referenceName": "<name of Self-hosted Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Propriedades do conjunto de dados
Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre Conjuntos de Dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do Google BigQuery.
Para copiar dados do Google BigQuery, defina a propriedade type do conjunto de dados para GoogleBigQueryObject. Há suporte para as seguintes propriedades:
Propriedade | Descrição | Obrigatório |
---|---|---|
type | A propriedade type do conjunto de dados precisa ser definida como: GoogleBigQueryObject | Sim |
dataset | Nome do conjunto de dados do Google BigQuery. | Não (se "query" na fonte da atividade for especificada) |
tabela | Nome da tabela. | Não (se "query" na fonte da atividade for especificada) |
tableName | Nome da tabela. Essa propriedade é compatível com versões anteriores. Para uma nova carga de trabalho, use dataset e table . |
Não (se "query" na fonte da atividade for especificada) |
Exemplo
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleBigQuery linked service name>",
"type": "LinkedServiceReference"
}
}
}
Propriedades da atividade de cópia
Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines. Esta seção fornece uma lista das propriedades com suporte pelo tipo de fonte do Google BigQuery.
GoogleBigQuerySource como um tipo de fonte
Para copiar dados do Google BigQuery, defina o tipo de origem na atividade de cópia como GoogleBigQuerySource. As propriedades a seguir têm suporte na seção source da atividade de cópia.
Propriedade | Descrição | Obrigatório |
---|---|---|
type | A propriedade tipo da fonte da atividade de cópia deve ser definida como: GoogleBigQuerySource. | Sim |
Consulta | Utiliza a consulta SQL personalizada para ler os dados. Um exemplo é "SELECT * FROM MyTable" . |
Não (se "tableName" no conjunto de dados for especificado) |
Exemplo:
"activities":[
{
"name": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleBigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQuerySource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Pesquisar propriedades de atividade
Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.
Conteúdo relacionado
Para obter uma lista dos armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os Armazenamentos de dados com suporte.