Sobre o metastore do BigLake

O metastore do BigLake é um serviço sem servidor totalmente gerenciado que oferece uma única fonte de verdade para o data lakehouse. Ele permite que vários mecanismos, incluindo Apache Spark, Apache Flink e BigQuery, compartilhem tabelas e metadados sem copiar arquivos.

O metastore do BigLake oferece suporte à delegação de acesso ao armazenamento (venda de credenciais), o que melhora a segurança, eliminando a necessidade de acesso direto ao bucket do Cloud Storage. Ele também se integra ao Dataplex Universal Catalog para governança, linhagem e qualidade de dados unificadas.

Principais recursos

Como um componente do BigLake, o metastore do BigLake oferece várias vantagens para o gerenciamento e a análise de dados, incluindo uma arquitetura sem servidor, interoperabilidade de mecanismos com APIs abertas, uma experiência do usuário unificada e análises, streaming e IA de alta performance quando usado com o BigQuery. Para mais informações sobre esses benefícios, consulte O que é o BigLake?

Mecanismos compatíveis

O metastore do BigLake é compatível com vários mecanismos de consulta, incluindo (mas não se limitando a) Apache Spark, Apache Flink e Trino. A tabela a seguir fornece links para a documentação de cada mecanismo:

Mecanismo Documentação
Apache Spark Início rápido: usar com o Spark
Apache Flink Usar com o Apache Flink
Trino Usar com o Trino

Opções de configuração

O metastore do BigLake pode ser configurado de duas maneiras: com o catálogo REST do Iceberg ou o catálogo personalizado do Iceberg para o BigQuery. A melhor opção depende do seu caso de uso, conforme mostrado na tabela a seguir:

Caso de uso Recomendação
Novos usuários do metastore do BigLake que querem que o mecanismo de código aberto acesse dados no Cloud Storage e precisam de interoperabilidade com outros mecanismos, incluindo o BigQuery e o AlloyDB para PostgreSQL. Use o catálogo REST do Iceberg.
Usuários atuais do metastore do BigLake que têm tabelas com o catálogo personalizado do Iceberg para o BigQuery. Continue usando o catálogo personalizado do Iceberg para o BigQuery, mas use o catálogo REST do Iceberg para novos fluxos de trabalho. As tabelas criadas com o catálogo personalizado do Iceberg para o BigQuery ficam visíveis com o catálogo REST do Iceberg pela federação de catálogos do BigQuery.

Diferenças com o metastore do BigLake (clássico)

O metastore do BigLake é o metastore recomendado em Google Cloud, enquanto o metastore do BigLake (clássico) é considerado um recurso legado.

As principais diferenças entre o metastore do BigLake e o metastore do BigLake (clássico) incluem o seguinte:

  • O metastore do BigLake oferece suporte a uma integração direta com mecanismos de código aberto, como o Spark, o que ajuda a reduzir a redundância ao armazenar metadados e executar jobs. As tabelas no metastore do BigLake podem ser acessadas diretamente de vários mecanismos de código aberto e do BigQuery.
  • O metastore do BigLake oferece suporte ao catálogo REST do Iceberg, enquanto o metastore do BigLake (clássico) não.

Limitações do metastore do BigLake

As limitações a seguir se aplicam a tabelas no metastore do BigLake:

Gerenciamento de tabelas

  • Não é possível criar ou modificar tabelas do BigLake Iceberg com instruções de linguagem de definição de dados (DDL, na sigla em inglês) ou linguagem de manipulação de dados (DML, na sigla em inglês) do BigQuery. É possível modificar tabelas do BigLake Iceberg usando a API BigQuery (com a ferramenta de linha de comando bq ou bibliotecas de cliente), mas isso pode gerar mudanças incompatíveis com o mecanismo externo.
  • As tabelas do metastore do BigLake não oferecem suporte a operações de renomeação ou à instrução ALTER TABLE ... RENAME TO do Spark SQL.
  • As tabelas do metastore do BigLake não oferecem suporte a clustering.
  • As tabelas do metastore do BigLake não oferecem suporte a nomes de colunas flexíveis.
  • O metastore do BigLake não oferece suporte a visualizações do Iceberg.

Consulta

  • O desempenho da consulta para tabelas do metastore do BigLake no mecanismo do BigQuery pode ser lento em comparação com a consulta de dados em tabelas padrão do BigQuery. Em geral, a velocidade da consulta precisa ser equivalente à leitura de dados do Cloud Storage.
  • Uma simulação de consulta do BigQuery que usa uma tabela do metastore do BigLake pode relatar 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 completa seja executada. A execução da consulta gera um custo para o processamento desses dados.
  • Não é possível referenciar uma tabela do metastore do BigLake em uma consulta de tabela curinga table.

API e metadados

  • Não é possível usar o tabledata.list método para recuperar dados de tabelas do metastore do BigLake. Em vez disso, é possível salvar os resultados da consulta em uma tabela do BigQuery e usar o método tabledata.list nessa tabela.
  • Não há suporte para a exibição de estatísticas de armazenamento de tabelas do metastore do BigLake.

Cotas e limites

  • As tabelas do metastore do BigLake no BigQuery estão sujeitas às mesmas cotas e limites das tabelas padrão.

A seguir