Compartilhar via


Copiar dados do Google BigQuery V2 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 completa 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 nova avaliação gratuitamente!

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 do Google BigQuery V1 está em fase de remoção. É recomendável atualizar o conector do Google BigQuery de V1 para V2.

Funcionalidades com suporte

O conector Google BigQuery é compatível com as seguintes funcionalidades:

Funcionalidades com suporte IR
Atividade de cópia (origem/-) (1) (2)
Atividade de pesquisa (1) (2)

① Tempo de execução de integração do Azure ② Tempo de execução de integração auto-hospedado

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.

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.

Introdução

Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

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.

  1. Navegue até a guia Gerenciar no workspace do Azure Data Factory ou do Synapse e selecione Serviços Vinculados. Depois, clique em Novo:

  2. Pesquise por Google BigQuery e selecione o conector.

    Captura de tela do conector Google BigQuery.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Captura de tela da configuração do serviço vinculado para o Google BigQuery.

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
tipo A propriedade do tipo deve ser definida como GoogleBigQueryV2. Sim
versão A versão que você especifica. É recomendável atualizar para a versão mais recente para aproveitar os aprimoramentos mais recentes. Sim para a versão 1.1
projectId A ID de projeto do projeto padrão do BigQuery para consulta. Sim
tipoDeAutenticação O mecanismo de autenticação OAuth 2.0 usado para autenticação.
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

Exemplo:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "version": "1.1",
        "typeProperties": {
            "projectId" : "<project ID>",
            "authenticationType" : "UserAuthentication",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "SecureString",
                "value":"<client secret>"
            },
            "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.

Propriedade Descrição Obrigatório
keyFileContent O arquivo de chave no formato JSON usado para autenticar a conta de serviço. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. Sim

Exemplo:

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

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 do tipo do conjunto de dados como GoogleBigQueryV2Object. Há suporte para as seguintes propriedades:

Propriedade Descrição Obrigatório
tipo A propriedade do tipo do conjunto de dados deve ser definida como: GoogleBigQueryV2Object Sim
conjunto de dados 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)

Exemplo

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

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 fonte na atividade de cópia como GoogleBigQueryV2Source. As propriedades a seguir têm suporte na seção source da atividade de cópia.

Propriedade Descrição Obrigatório
tipo A propriedade do tipo da fonte de atividade de cópia deve ser definida como GoogleBigQueryV2Source. Sim
consulta Utiliza a consulta SQL personalizada para ler os dados. Um exemplo é "SELECT * FROM MyTable". Para obter mais informações, vá para Sintaxe de consulta. Não (se "conjunto de dados" e "tabela" no conjunto de dados forem especificados)

Exemplo:

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

Mapeamento de tipo de dados para o Google BigQuery V2

Quando você copia dados do Google BigQuery, os mapeamentos a seguir são usados dos tipos de dados do Google BigQuery para tipos de dados provisórios dentro do serviço internamente. Para saber mais sobre como a atividade Copy mapeia o tipo de dados e esquema de origem para o coletor, consulte Mapeamentos de tipo de dados e esquema.

Tipo de dados do Google BigQuery Tipo de dados provisório do serviço
JSON String
STRING String
BYTES Matriz de bytes
INTEGER Int64
FLOAT Double
NUMÉRICO Decimal
BIGNUMERIC String
BOOLEAN booleano
TIMESTAMP DateTimeOffset
DATE DateTime
TIME TimeSpan
DATETIME DateTimeOffset
GEOGRAFIA String
REGISTRO/ESTRUTURA String
ARRAY String

Pesquisar propriedades de atividade

Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.

Ciclo de vida e atualização do conector do Google BigQuery

A tabela a seguir mostra o estágio de lançamento e os logs de alteração para versões diferentes do conector do Google BigQuery:

Versão Fase de liberação Log de alterações
Google BigQuery V1 Removed Não aplicável.
Google BigQuery V2 (versão 1.0) Versão GA disponível • A autenticação de serviço é compatível com o runtime de integração do Azure e o runtime de integração auto-hospedada.
As propriedades trustedCertPathe useSystemTrustStoreemailkeyFilePath não têm suporte, pois estão disponíveis apenas no runtime de integração auto-hospedada.

requestGoogleDriveScope não há suporte. Além disso, você precisa aplicar a permissão no serviço BigQuery do Google, referindo-se a Escolher escopos da API do Google Drive e Consultar dados da unidade.

additionalProjects não há suporte. Como alternativa, consulte um conjunto de dados público com o console do Google Cloud.

• NUMBER é lido como tipo de dado Decimal.

• Carimbo de data/hora e datetime são lidos como tipo de dados DateTimeOffset.
Google BigQuery V2 (versão 1.1) Versão GA disponível • Correção de um bug: ao executar várias instruções, o query agora retorna os resultados da primeira instrução depois de excluir as instruções de avaliação, em vez de sempre retornar o resultado da primeira instrução.

Faça o upgrade do conector do BigQuery do Google

Para atualizar o conector do Google BigQuery:

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.