BigQuery do Google

Resumo

Item Descrição
Estado da liberação Disponibilidade geral
Produtos Power BI (Modelos semânticos)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights (Fluxos de dados)
Tipos de autenticação compatíveis Conta organizacional
Conta de serviço

Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido a cronogramas de implantação e funcionalidades específicas do host.

Observação

Desde julho de 2021, o Google descontinuou o suporte para logins em contas do Google em estruturas de navegador incorporadas. Devido a essa alteração, você precisa atualizar a versão do Power BI Desktop para junho de 2021 ou posterior para oferecer suporte ao login no Google.

Pré-requisitos

Você precisará de uma conta do Google ou de uma conta de serviço do Google para se conectar ao Google BigQuery.

Funcionalidades com suporte

  • Importação
  • DirectQuery (Modelos semânticos do Power BI)

Conectar-se aos dados do Google BigQuery do Power Query Desktop

Para se conectar ao Google BigQuery do Power Query Desktop, siga as seguintes etapas:

  1. Selecione o Google BigQuery na experiência para obter dados. A experiência para obter dados no Power Query Desktop varia entre aplicativos. Para saber mais informações sobre a experiência para obter dados no Power Query Desktop para seu aplicativo, acesse Onde obter dados.

  2. Se você quiser usar as opções antecipadas, selecione Opções avançadas. Caso contrário, selecione OK para continuar. Mais informações: Conectar usando opções avançadas

    Imagem mostrando a caixa de diálogo inicial com a seleção de opções avançadas.

  3. O conector do Google BigQuery é compatível com a conexão por meio de uma conta organizacional ou um login de conta de serviço. Neste exemplo, você usará a conta organizacional para entrar. Selecione Entrar para continuar.

    Acessar o Google BigQuery.

    Você também pode entrar usando uma conta de serviço do Google. Nesse caso, selecione Logon da Conta de Serviço e insira o email da conta de serviço e o conteúdo do arquivo de chave JSON da conta de serviço. Depois, selecione Conectar.

  4. Uma caixa de diálogo Entrar com o Google é exibida. Selecione sua conta do Google e aprove a conexão ao Power BI Desktop.

    Entrar no Google.

  5. Depois de entrar, selecione Conectar para continuar.

    Conectar-se Google BigQuery Data.

  6. Depois de você se conectar com sucesso, aparece uma janela Navegador com os dados disponíveis no servidor. Selecione os dados no navegador. Selecione Transformar dados para transformar os dados no Power Query ou Carregar para carregar os dados no Power BI Desktop.

    Imagem do navegador do Power Query carregando dados do Google BigQuery para o aplicativo de desktop.

Conectar-se aos dados do Google BigQuery do Power Query Online

Para se conectar ao Google BigQuery do Power Query Online, siga as seguintes etapas:

  1. Selecione a opção Google BigQuery na experiência para obter dados. Cada aplicativo acessa de uma forma diferente a experiência para obter dados do Power Query Online. Para saber mais informações sobre como acessar a experiência para obter dados do Power Query Online pelo seu aplicativo, acesse Onde obter dados.

    Captura de tela da caixa de diálogo Obter dados com ênfase no conector do Google BigQuery.

  2. Na caixa de diálogo Banco de Dados do Google BigQuery, talvez seja necessário criar uma nova conexão ou selecionar uma conexão existente. Se você estiver usando dados locais, selecione um gateway de dados local. Em seguida, selecione Entrar.

    Imagem da caixa de diálogo de login.

  3. Uma caixa de diálogo Entrar com o Google é exibida. Selecione sua conta do Google e aprove a conexão.

    Observação

    Embora a caixa de diálogo de entrada diga que você continuar para o Power BI Desktop depois de entrar, você será enviado para seu aplicativo online.

    Imagem da caixa de diálogo de login.

  4. Se você quiser usar as opções antecipadas, selecione Opções avançadas. Mais informações: Conectar usando opções avançadas

  5. Depois de entrar, selecione Avançar para continuar.

    Imagem do usuário após fazer login.

  6. Depois de você se conectar com sucesso, aparece uma janela Navegador com os dados disponíveis no servidor. Selecione os dados no navegador. Em seguida, selecione Avançar para transformar os dados no Power Query.

    Imagem do navegador do Power Query carregando dados do Google BigQuery para o aplicativo online.

Conectar usando opções avançadas

Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de opções avançadas que você pode adicionar à sua consulta, se necessário.

Exibição de opções avançadas disponíveis no Power Query Desktop.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query Desktop e no Power Query Online.

Opção avançada Descrição
ID do projeto de cobrança Um projeto no qual Power Query executará consultas. As permissões e a cobrança estão vinculadas a este projeto. Se nenhum ID de Projeto de Faturamento for fornecido, por padrão, o primeiro projeto disponível retornado pelas APIs do Google será usado.
Usar API de Armazenamento Um sinalizador que permite o uso da API de Armazenamento do Google BigQuery. Essa opção é verdadeira por padrão. Essa opção pode ser definida como falsa para não usar a API de Armazenamento e usar APIs REST.
Duração do tempo limite de conexão A configuração de conexão padrão (em segundos) que controla quanto tempo Power Query aguarda a conclusão de uma conexão. Você poderá alterar esse valor se sua conexão não for concluída antes de 15 segundos (o valor padrão).
Duração do tempo limite de comando Quanto tempo Power Query aguarda a conclusão de uma consulta e o retorno dos resultados. O padrão depende do padrão do driver. Você pode inserir outro valor em minutos para manter a conexão aberta por mais tempo.
ID do projeto O projeto no qual você deseja executar consultas nativas. Esta opção está disponível somente no Power Query Desktop.
Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados usando a consulta nativa de banco de dados. Nesta versão da funcionalidade de consulta de banco de dados nativo, você precisa usar nomes de tabela totalmente qualificados no formato Database.Schema.Table, por exemplo, SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE. Esta opção está disponível somente no Power Query Desktop.

Depois de selecionar as opções avançadas requeridas, selecione OK no Power Query Desktop ou Avançar no Power Query Online para se conectar ao banco de dados do Google BigQuery.

Limitações e considerações

Esta seção descreve quaisquer limitações ou considerações do conector do Google BigQuery.

Conectando-se ao Google BigQuery no Power BI Desktop

Há alguns limites e considerações a serem considerados ao usar o conector do Google BigQuery com o Power BI.

Disponibilidade do conector

O conector do Google BigQuery está disponível no Power BI Desktop e no serviço do Power BI. No serviço do Power BI, o conector pode ser acessado usando a conexão de nuvem para nuvem do Power BI para o Google BigQuery.

Erro "Acesso Negado"

Ao tentar se conectar ao Google BigQuery a partir do Power BI Desktop, você poderá receber a seguinte mensagem de erro:

Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.

Nesse caso, talvez seja necessário inserir um ID do Projeto de Faturamento na opção avançada Projeto de Faturamento nas Configurações de conexão do Power Query.

Além disso, se você também criar um relatório no serviço do Power BI usando um gateway, ainda poderá obter esse erro. Nesse caso, você deve incluir manualmente o ID do Projeto de Faturamento no código M da conexão usando o editor do Power Query ou a barra de fórmulas do Power Query. Por exemplo:

Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])

Campos aninhados

Para otimizar as considerações de desempenho, o Google BigQuery se dá bem com grandes conjuntos de dados quando desnormalizados, nivelados e aninhados.

O conector do Google BigQuery dá suporte a campos aninhados, que são carregados como colunas de texto no formato JSON.

Suporte a campos aninhados do Google BigQuery.

Os usuários devem selecionar Transformar Dados e, em seguida, usar os recursos de análise JSON no Editor do Power Query para extrair os dados.

  1. Na guia aa faixa de Transformações, a categoria Coluna de Texto, selecione Analisar e, em seguida , JSON.
  2. Extraia os campos de registro JSON usando a opção Expandir Coluna.

Configurando uma conta de serviço do Google

Para obter mais informações sobre como configurar ou usar contas de serviço do Google, acesse Criar e gerenciar chaves de conta de serviço nos documentos do Google.

Autenticação por meio de uma conta de serviço do Google

Quando você se autentica por meio de uma conta de serviço do Google no Power BI Desktop, há um formato de credencial específico exigido pelo conector.

  • Email da Conta de Serviço: deve estar no formato de email
  • Conteúdo do arquivo de chave JSON da Conta de Serviço: depois que essa chave JSON for baixada, todas as novas linhas deverão ser removidas do arquivo para que o conteúdo esteja em uma linha. Depois que o arquivo JSON estiver nesse formato, o conteúdo poderá ser colado nesse campo.

Quando você se autentica por meio de uma conta de serviço do Google no serviço do Power BI ou no Power Query Online, os usuários precisam usar a autenticação "Básica". O campo Nome de Usuário é mapeado para o campo Email da Conta de Serviço acima e o campo Senha é mapeado para o campo de conteúdo do arquivo de chave JSON da Conta de Serviço acima. Os requisitos de formato para cada credencial permanecem os mesmos no Power BI Desktop, serviço do Power BI e Power Query Online.

Não é possível autenticar com a API de Armazenamento do Google BigQuery

O conector do Google BigQuery usa a API de Armazenamento do Google BigQuery por padrão. Esse recurso é controlado pela opção avançada chamada UseStorageApi. Você pode encontrar problemas com esse recurso se usar permissões granulares. Nesse cenário, você pode ver a seguinte mensagem de erro ou não obter dados de sua consulta:

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions

Você pode resolver esse problema ajustando corretamente as permissões do usuário para a API BigQuery Storage. Essas permissões de API de armazenamento são necessárias para acessar os dados corretamente com a API do BigQueryStorage:

  • bigquery.readsessions.create – Cria uma sessão de leitura por meio da API de Armazenamento do BigQuery.
  • bigquery.readsessions.getData – Lê os dados de uma sessão de leitura por meio da API de Armazenamento do BigQuery.
  • bigquery.readsessions.update – Atualiza uma sessão de leitura por meio da API de Armazenamento do BigQuery.

Essas permissões normalmente são fornecidas na função BigQuery.User. Mais informações em Funções e permissões predefinidas do Google BigQuery

Se as etapas acima não resolverem o problema, você poderá desabilitar a API de Armazenamento do BigQuery.

Não é possível usar dados de tipo DateTime no modo Direct Query

Há um problema conhecido em que o tipo DateTime não tem suporte por meio do Direct Query. Selecionar uma coluna com o tipo DateTime causará um erro "Consulta inválida" ou um erro visual.

Limitações na coluna de consulta com nome igual ao nome da tabela

Ao consultar uma coluna com nome igual ao nome da tabela, o BigQuery interpreta a coluna como uma struct que inclui todas as colunas na tabela em vez da coluna especificada. Por exemplo, SELECT debug FROM dataset.debug retorna uma struct com todas as colunas na tabela de depuração em vez da coluna de depuração especificada. Esse comportamento geralmente não é intuitivo e uma correção está sendo investigada. Existem três soluções alternativas disponíveis:

  • Solução alternativa 1: empacotar a tabela com uma exibição que não conflite com o nome da coluna: CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Solução alternativa 2: renomear a coluna para evitar conflitos com o nome da tabela: ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Solução alternativa 3: alterar a consulta SELECT para usar table.column para referenciar a coluna em conflito: SELECT debug.debug FROM dataset.debug