Skip to main content

Google BigQuery

Tipo de conexão

Ferramenta do Alteryx. A versão mais recente está disponível na Comunidade Alteryx .

Tipo de suporte

Leitura e gravação

Validado em

Versão de cliente ODBC: 2.4.6.1015

Detalhes do driver

Pode ser necessário realizar uma ação de administrador no Google Cloud antes de configurar uma conexão nas ferramentas do Alteryx para o Google BigQuery.

O Google BigQuery exige o OAuth como método de autenticação. Oferecemos suporte ao OAuth com o driver ODBC do Simba através do DSN ou no Alteryx usando o DCM.

Ferramentas do Alteryx usadas para conexão

Importante

As ferramentas do Google BigQuery foram descontinuadas. Você ainda pode usar a ferramenta Dados de Entrada e a ferramenta Dados de Saída para se conectar ao Google BigQuery.

Processamento de fluxos de trabalho padrão

Processamento de fluxos de trabalho no banco de dados

Nota

Importante

Projetos, conjuntos de dados e tabelas com caracteres especiais, como hifens, precisam estar entre aspas. Para obter mais informações, consulte o artigo Erro do Google BigQuery com hifens em consulta SQL da Base de Conhecimento.

O processamento de fluxos de trabalho no banco de dados só é compatível usando o DCM.

O conjunto de dados do Google BigQuery usado para as conexões de leitura e gravação in-DB deve ser o mesmo.

Configurar uma conexão em massa do Google BigQuery

O uso em massa do Google BigQuery só é compatível ao mesmo tempo em que o DCM é usado . Para usar a conexão em massa por meio da ferramenta Dados de Saída:

  1. Certifique-se de que o Gerenciador de Conexões de Dados está habilitado.

  2. Selecione Configurar uma conexão e selecione Fontes de dados - Google BigQuery em massa.

  3. Selecione Adicionar uma fonte de dados

    1. Insira um Nome da fonte de dados ,

    2. Insira um Catálogo (Projeto) . Esse é o ID do projeto do Google BigQuery que contém o conjunto de dados onde a tabela será gravada e o bucket do Google Cloud Storage usado para o teste.

    3. Insira um Conjunto de dados . É aqui que a tabela final será gravada.

    4. Insira um Nome do bucket . Esse é o local de teste do Google Cloud Storage para carregamento em massa. O bucket deve estar no mesmo local que o projeto.

    5. Clique em Salvar .

  4. Clique em + Conectar credencial . A mesma credencial é usada para preparação no Cloud Storage e no projeto do Google BigQuery.

    1. Selecione um Método de autenticação ,

    2. siga as instruções para usar o OAuth com DCM .

  5. Clique em Conectar .

  6. Insira o nome da tabela e clique em OK .

OAuth usando o DCM

Você pode configurar a autenticação para o Google BigQuery usando o OAuth integrado ao DCM. Desta forma, você não precisa copiar tokens manualmente para o driver ODBC.

Pré-requisitos

Para configurar o OAuth, você precisa de:

  • Um DSN válido preparado com a opção Autenticador definida como OAuth ,

  • O URL da autoridade OAuth, porta, ID do cliente e segredo do cliente do administrador.

Configuração de autenticação

No Designer, arraste a ferramenta de entrada para a tela.

  1. Marque a caixa de seleção Usar o Gerenciador de Conexões de Dados (DCM) .

  2. Clique em Configurar uma conexão .

  3. Na janela Conexões de dados , acesse Fontes de dados e escolha ODBC do Google BigQuery .

  4. A janela Gerenciador de Conexões é aberta. Selecione + Adicionar fonte de dados .

  5. Para Tecnologia , escolha ODBC do Google BigQuery com Simba .

  6. Preencha o Nome da fonte de dados e escolha o DSN do Google BigQuery preparado.

  7. Clique em Salvar .

  8. Para vincular as credenciais, selecione + Conectar credencial .

  9. Escolha OAuth como método de autenticação .

  10. Para o aplicativo OAuth , escolha Criar nova credencial e preencha as informações necessárias (obtenha o URL da autoridade OAuth, a porta, o ID do cliente e o segredo do cliente do administrador).

  11. Escolha Criar nova credencial para tokens OAuth .

  12. Preencha o Nome da credencial e selecione Criar e vincular .

  13. Clique em Conectar .

  14. Faça login na janela do navegador externo do gerenciador do Google.

Nota

Você pode ver uma solicitação para passar pelo processo de autorização do OAuth duas vezes devido à maneira como os tokens são gerenciados no DCM.

  • O Google BigQuery sempre coloca tabelas entre aspas.

  • Acréscimos acontecem por nome de campo. Se o nome ou o tipo de dados não corresponderem, o Google BigQuery lança um erro.

  • Marque Permitir valores nulos nas opções específicas de formato (vem marcada por padrão) para permitir o carregamento de dados nulos no Google BigQuery. Se a opção não estiver marcada, o Google BigQuery rejeitará valores nulos.

  • Colunas extras na tabela de destino serão carregadas como nulas se não forem incluídas no Alteryx.

  • O nome de uma coluna deve conter apenas letras (a-z, A-Z), números (0-9) ou sublinhados (_), e deve começar com uma letra ou sublinhado. O comprimento máximo para um nome de coluna é de 300 caracteres. Para obter mais informações, consulte a Documentação do Google BigQuery.

Esquemas do conector de saída

Os nomes e tipos de campo passados para a ferramenta Saída do Google BigQuery devem corresponder aos da tabela de destino do Google BigQuery. As colunas que existem na tabela do Google BigQuery, mas que não existem na lista de campos do fluxo de trabalho, produzirão valores nulos para essas colunas nos registros inseridos. Isso causa um erro quando a coluna de destino não está configurada como ANULÁVEL.

Indicador de progresso de entrada

Se houver linhas no buffer de streaming para a tabela selecionada de uma ferramenta de entrada sem uma consulta personalizada, a ferramenta de entrada usará o número estimado de linhas no buffer de streaming relatado pelo Google ao atualizar a porcentagem do indicador de progresso em um fluxo de trabalho em execução. Se a estimativa do Google estiver incorreta, o valor informado no indicador de progresso também pode estar incorreto.

Caso a tabela que está sendo consultada esteja vazia e o buffer de streaming para essa tabela não esteja vazio, então é possível que o Google estime o número de linhas no buffer de streaming como zero. No entanto, o Google ainda pode retornar linhas a partir do buffer de streaming. Quando isso acontece, você não vê a atualização da porcentagem no indicador de progresso, e um aviso é exibido.

Configurar uma conexão usando as Ferramentas do Google BigQuery

Entre em contato com seu administrador do Google Cloud para obter ajuda com suas credenciais do Google BigQuery.

Desde o Designer versão 22.1, há uma autenticação OAuth compatível com o driver ODBC do Simba.

Configuração de autenticação de serviço a serviço

Você pode obter um arquivo de chave JSON de conta de serviço no console do Google Cloud ou criar uma nova chave para uma conta de serviço existente. Mais informações sobre o Google BigQuery podem ser encontradas no site de Documentação do Google BigQuery em Como criar e gerenciar chaves de contas de serviço .

Configuração de autenticação do usuário final

Obtenha um ID e um segredo do cliente OAuth na página de credenciais do console do Google Cloud. Certifique-se de que o tipo de cliente esteja definido como "Outro".

Nota

Use a autenticação Serviço a serviço em vez da autenticação Usuário final sempre que possível. Gerenciar chaves distintas para vários aplicativos autenticando para a mesma conta de serviço permite a revogação do acesso para um aplicativo específico sem exigir que outros aplicativos atualizem suas credenciais de autenticação.

Permissões de acesso

As permissões para ler e gravar dados em uma conta de serviço de projeto do Google BigQuery devem ser concedidas por meio do Console do Google Cloud . Mais informações sobre permissões podem ser encontradas no site de Documentação do Google Big Query .

Profundidade máxima de registros aninhados e repetidos

Registros aninhados e repetidos têm suporte na profundidade de um nível. Os registros aninhados e repetidos com mais de um nível de profundidade não são compatíveis. Mais informações sobre registros aninhados e repetidos podem ser encontradas no site de Documentação do Google BigQuery .

Dados espaciais

O Google BigQuery não oferece suporte à gravação de dados espaciais.

Campos de DATETIME

Ao gravar no Google BigQuery:

  • Ao usar ODBC para gravar, o Designer cria campos de data/hora como DATETIME; ao usar o carregador em massa para gravar, ele cria campos de data/hora como TIMESTAMP.

  • No Google BigQuery, TIMESTAMP representa o mesmo que DATETIME e você pode usar EXTRACT para analisá-lo.

Nivelação de registros aninhados e repetidos

Na entrada

Ao extrair registros aninhados ou repetidos de uma tabela do Google BigQuery, o fluxo de trabalho do Alteryx nivela os registros aninhados e/ou repetidos de acordo com o seguinte esquema de nomenclatura:

Um registro aninhado nested_attr da coluna de nível superior top_attr cria uma nova coluna chamada nr_top_attr_nexted_attr .

Na saída

Quando registros de um fluxo de trabalho do Alteryx são enviados para uma tabela existente do Google BigQuery, a necessidade de dobrar campos em registros aninhados e/ou repetidos é especificada renomeando campos de registro que fluem para o conector de saída para seguir estas convenções de nomenclatura.

Um registro nested_attr que deve ser aninhado na coluna de nível superior top_attr deve ser renomeado para nr_top_attr_nested_attr .

Um registro nested_attr que deve ser aninhado e repetido um número arbitrário de vezes sob a coluna de nível superior top_attr deve ser renomeado para nrr_top_attr_{repetition_index}_nested_attr . Todas as repetições que contêm somente valores NULL nos campos aninhados são descartadas antes da chamada da API para inserir novas linhas na tabela do Google BigQuery. Isso significa que os registros no fluxo de trabalho do Designer podem ter um número arbitrário de repetições máximas, e nem todos os registros precisam ter o mesmo número de repetições.

Limitação do AVRO

Devido a uma limitação do AVRO, o carregador em massa do BigQuery não é compatível com tipos de dados BIGNUMERIC. Ele os trata como FLOAT.

Com o carregador em massa do Google BigQuery, o Designer não pode criar campos como DATETIME. Antes da versão 23.2 do Designer, o carregador em massa carrega datas como cadeias de caracteres.