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.
Em seguida, você pode consultar a mesma tabela do Spark no console do Google Cloud.
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:
- Formatos de tabelas. Apache Iceberg 1.5.2 ou mais recente.
- Dataproc. Versão 2.2 ou mais recente.
- Mecanismos de processamento de dados. Spark versão 3.3 ou mais recente.
- Plug-ins. Plug-in do catálogo do Iceberg da metastore do BigQuery.
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étodotabledata.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
- Migrar dados do metastore do Dataproc para o metastore do BigQuery
- Usar a metastore do BigQuery com o Dataproc
- Usar a metastore do BigQuery com o Dataproc Serverless