Introdução à metastore do BigQuery

A metastore do BigQuery é uma metastore totalmente gerenciada para produtos de análise de dados em Google Cloud. Ele oferece uma única fonte de verdade para gerenciar metadados de várias origens. O metastore pode ser acessado no BigQuery e em vários mecanismos de processamento de dados abertos, o que o torna uma ferramenta útil para engenheiros e analistas de dados.

Por exemplo, é possível usar a metastore do BigQuery como o catálogo com mecanismos de consulta de código aberto, como o Apache Spark. As tabelas criadas com o Spark podem ser consultadas usando o BigQuery sem que seja necessário sincronizar os metadados.

Vantagens

A metastore do BigQuery oferece várias vantagens para o gerenciamento e a análise de dados:

  • Arquitetura sem servidor. O metastore do BigQuery oferece uma arquitetura sem servidor, eliminando a necessidade de gerenciamento de servidor ou cluster. Isso ajuda a reduzir a sobrecarga operacional, simplifica a implantação e permite o escalonamento automático com base na demanda.
  • Interoperabilidade do mecanismo. O Metastore do BigQuery oferece acesso direto às tabelas no BigQuery, permitindo consultar tabelas de formato aberto armazenadas no BigQuery sem configuração adicional. Por exemplo, é possível criar uma tabela no Spark e consultar diretamente no BigQuery. Isso ajuda a simplificar seu fluxo de trabalho de análise e reduz a necessidade de movimentação de dados complexos ou processos ETL.
  • Experiência do usuário unificada. O BigQuery Metastore oferece um fluxo de trabalho unificado no BigQuery e no BigQuery Studio. Isso permite usar o Spark diretamente no BigQuery e no BigQuery Studio. Exemplo:

    Primeiro, crie uma tabela no Spark com um notebook do BigQuery Studio.

    Criar tabela no BQMS

    Em seguida, você pode consultar a mesma tabela do Spark no console do Google Cloud.

    Consultar tabela no BQMS

Integrações compatíveis

É possível usar a metastore do BigQuery com o console do Google Cloud, a CLI gcloud ou as APIs REST do BigQuery.

A metastore do BigQuery é compatível com as seguintes integrações:

Diferenças com o BigLake Metastore

O BigQuery Metastore é o metastore recomendado em Google Cloud.

As principais diferenças entre a metastore do BigQuery e a do BigLake incluem os seguintes detalhes:

  • O BigLake Metastore é um serviço de metastore independente que é diferente do BigQuery e só oferece suporte a tabelas Iceberg. Ele tem um modelo de recurso de três partes diferente. As tabelas no BigLake não são descobertas automaticamente no BigQuery.

  • A metastore do BigQuery é baseada no catálogo do BigQuery e se integra diretamente a ele. As tabelas no Metastore do BigQuery são mutáveis em vários mecanismos de código aberto, e as mesmas tabelas podem ser consultadas no BigQuery. Quando você usa o BigQuery, há apenas uma fonte confiável para seus metadados. Por exemplo, o metastore do BigQuery é compatível com a integração direta com o Spark. Essa integração oferece um fluxo de trabalho mais simples e ajuda a reduzir a redundância ao armazenar metadados e executar jobs.

Limitações

As limitações a seguir se aplicam às tabelas da metastore do BigQuery:

  • Não é possível criar ou modificar tabelas de metastore do BigQuery com instruções DDL ou DML usando o mecanismo do BigQuery. É possível modificar as tabelas da metastore do BigQuery usando a API BigQuery (com a ferramenta de linha de comando bq ou bibliotecas de cliente), mas isso pode fazer com que as mudanças sejam incompatíveis com o mecanismo externo.
  • As tabelas de metastore do BigQuery não oferecem suporte a operações de renomeação ou instruções ALTER TABLE ... RENAME TO do Spark SQL.
  • As tabelas do Metastore do BigQuery estão sujeitas às mesmas cotas e limites que as tabelas padrão.
  • O desempenho da consulta em tabelas de metastore do BigQuery no motor do BigQuery pode ser lento em comparação com a consulta de dados em uma tabela padrão do BigQuery. Em geral, o desempenho da consulta de uma tabela de metastore do BigQuery precisa ser equivalente à leitura dos dados diretamente do Cloud Storage.
  • Uma simulação de uma consulta que usa uma tabela de metastore do BigQuery pode informar um limite inferior de 0 bytes de dados, mesmo que as linhas sejam retornadas. Esse resultado ocorre porque a quantidade de dados processados da tabela não pode ser determinada até que a consulta real seja concluída. A execução da consulta gera um custo para processar esses dados.
  • Não é possível fazer referência a uma tabela de metastore do BigQuery em uma consulta de tabela de caracteres curinga.
  • Não é possível usar o método tabledata.list para extrair dados das tabelas de metastore do BigQuery. Em vez disso, salve os resultados da consulta em uma tabela de destino e use o método tabledata.list nessa tabela.
  • As tabelas de metastore do BigQuery não oferecem suporte a clusters.
  • As tabelas de metastore do BigQuery não são compatíveis com nomes de colunas flexíveis.
  • Não é possível exibir estatísticas de armazenamento de tabelas para tabelas de metastore do BigQuery.

A seguir