Google BigQuery

Resumo

Item Description
Estado de Lançamento Disponibilidade Geral
Produtos Power BI (modelos semânticos)
Power BI (Fluxos de Dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de Dados)
Insights do cliente (fluxos de dados)
Tipos de autenticação suportados Conta Institucional
Conta de serviço

Nota

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

Nota

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

Pré-requisitos

Você precisa de uma Conta do Google ou de uma conta de serviço do Google para fazer login no Google BigQuery.

Capacidades suportadas

  • Importar
  • DirectQuery (modelos semânticos do Power BI)

Ligar a dados do Google BigQuery a partir do Power Query Desktop

Para ligar ao Google BigQuery a partir do Power Query Desktop, siga os seguintes passos:

  1. Selecione Google BigQuery na experiência obter dados. A experiência de obtenção de dados no Power Query Desktop varia entre aplicações. Para obter mais informações sobre a experiência de obter dados do Power Query Desktop para a sua aplicação, aceda a Onde obter dados.

  2. Se quiser usar opções avançadas, selecione Opções avançadas. Caso contrário, selecione OK para continuar. Para obter mais informações: Conectar-se 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 de uma conta de serviço. Neste exemplo, você usará a conta organizacional para entrar. Selecione Entrar para continuar.

    Faça login no Google BigQuery.

    Você também pode fazer login usando uma conta de serviço do Google. Nesse caso, selecione Login da Conta de Serviço e insira o e-mail da sua conta de serviço e o conteúdo do arquivo de chave JSON da sua conta de serviço. Em seguida, selecione Conectar.

  4. É apresentada uma caixa de diálogo Iniciar sessão com o Google . Selecione sua Conta do Google e aprove a conexão com o Power BI Desktop.

    Faça login no Google.

  5. Depois de entrar, selecione Conectar para continuar.

    Conecte-se aos dados do Google BigQuery.

  6. Depois de se conectar com êxito, uma janela Navegador aparece e exibe os dados disponíveis no servidor. Selecione os seus dados no navegador. Em seguida, 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 a carregar dados do Google BigQuery para a aplicação de ambiente de trabalho.

Ligar a dados do Google BigQuery a partir do Power Query Online

Para ligar ao Google BigQuery a partir do Power Query Online, siga os seguintes passos:

  1. Selecione a opção Google BigQuery em Obter experiência de dados. Diferentes aplicações têm formas diferentes de aceder à experiência de obtenção de dados do Power Query Online. Para obter mais informações sobre como aceder à experiência de obter dados do Power Query Online a partir da sua aplicação, aceda a 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 início de sessão.

  3. É apresentada uma caixa de diálogo Iniciar sessão com o Google . Selecione sua Conta do Google e aprove a conexão.

    Nota

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

    Imagem da caixa de diálogo de login do Google.

  4. Se quiser usar opções avançadas, selecione Opções avançadas. Para obter mais informações: Conectar-se usando opções avançadas

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

    Imagem do usuário conectado com êxito.

  6. Depois de se conectar com êxito, uma janela Navegador aparece e exibe os dados disponíveis no servidor. Selecione os seus dados no navegador. Em seguida, selecione Seguinte para transformar os dados no Power Query.

    Imagem do navegador do Power Query a carregar dados do Google BigQuery para a aplicação online.

Conecte-se usando opções avançadas

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

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

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

Opção avançada Description
ID do projeto de faturamento Um projeto no qual o Power Query executará consultas. As permissões e a cobrança estão vinculadas a este projeto. Se nenhum ID do projeto de faturamento for fornecido, por padrão, o primeiro projeto disponível retornado pelas APIs do Google será usado.
Usar a API de armazenamento Um sinalizador que permite usar a API de armazenamento do Google BigQuery. Esta opção é verdadeira por padrão. Essa opção pode ser definida como false para não usar a API de armazenamento e usar APIs REST.
Duração do tempo limite de conexão A definição de ligação padrão (em segundos) que controla quanto tempo o Power Query aguarda pela conclusão de uma ligação. Você pode alterar esse valor se a conexão não for concluída antes de 15 segundos (o valor padrão).
Duração do tempo limite do comando Quanto tempo o Power Query aguarda para que uma consulta seja concluída e devolva 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 só está disponível no Power Query Desktop.
SQL statement Para obter informações, vá para Importar dados de um banco de dados usando consulta de banco de dados nativa. 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 só está disponível no Power Query Desktop.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query Desktop ou Avançar no Power Query Online para se conectar aos seus dados do Google BigQuery.

Limitações e considerações

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

Ligar ao Google BigQuery no Power BI Desktop

Há alguns limites e considerações a ter em mente 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 Power BI. No serviço 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"

Quando tenta ligar ao Google BigQuery a partir do Power BI Desktop, 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>.

Neste caso, poderá ter de introduzir um ID do Projeto de Faturação na opção avançada Projeto de Faturação nas definições de Ligaçã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á receber esse erro. Neste caso, tem de incluir manualmente o ID do Projeto de Faturação no código M da ligação utilizando 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 sai bem com grandes conjuntos de dados quando desnormalizados, nivelados e aninhados.

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

Suporte a campos aninhados do Google BigQuery.

Os utilizadores devem selecionar Transformar Dados e, em seguida, utilizar as capacidades de análise JSON no Editor do Power Query para extrair os dados.

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

Como configurar uma conta de serviço do Google

Para obter mais informações sobre como configurar ou usar contas de serviço do Google, vá para 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.

  • E-mail da conta de serviço: deve estar no formato de e-mail
  • Conteúdo do arquivo de chave JSON da conta de serviço: uma vez que essa chave JSON é baixada, todas as novas linhas devem ser removidas do arquivo para que o conteúdo esteja em uma linha. Uma vez que o arquivo JSON está nesse formato, o conteúdo pode ser colado neste campo.

Quando você se autentica por meio de uma conta de serviço do Google no serviço 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, no serviço Power BI e no 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 conseguir obter quaisquer dados da 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 as permissões de usuário para a API de armazenamento do BigQuery corretamente. 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 nova sessão de leitura por meio da API de armazenamento do BigQuery.
  • bigquery.readsessions.getData: Lê 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 BigQuery.User função. Para obter mais informações, 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 do tipo DateTime no modo de Consulta Direta

Há um problema conhecido em que o tipo DateTime não é suportado pelo Direct Query. Selecionar uma coluna com o tipo DateTime causará um erro "Consulta inválida" ou um erro visual.

Limitações na consulta de coluna que tem o mesmo nome que o nome da tabela

Ao consultar uma coluna que tem o mesmo nome que o nome da tabela, o BigQuery interpreta a coluna como uma struct coluna que inclui todas as colunas da tabela em vez da coluna especificada. Por exemplo, SELECT debug FROM dataset.debug retorna um 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. Há três soluções alternativas disponíveis:

  • Solução alternativa 1: Envolva a tabela com um modo de exibição que não entre em conflito com o nome da coluna—CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Solução alternativa 2: Renomeie a coluna para evitar conflitos com o nome da tabela—ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Solução alternativa 3: Altere a consulta SELECT para usar table.column para fazer referência à coluna de conflito—SELECT debug.debug FROM dataset.debug