Introdução ao metastore do BigLake

O metastore do BigLake é um metastore unificado, gerido, sem servidor e escalável que associa os dados do lakehouse armazenados no Cloud Storage ou no BigQuery a vários tempos de execução, incluindo tempos de execução de código aberto (como o Apache Spark e o Apache Flink) e o BigQuery.

O metastore do BigLake oferece uma única fonte de informações fidedignas para gerir metadados de vários motores. Suporta formatos de tabelas de código aberto importantes, como o Apache Iceberg, através de tabelas Iceberg do BigLake e tabelas padrão do BigQuery. Além disso, o metastore do BigLake tem suporte para APIs abertas e um catálogo REST do Iceberg (pré-visualização).

Use a seguinte tabela para ajudar a determinar onde começar a sua jornada na metastore do BigLake:

Exemplo de utilização Recomendação
O motor de código aberto precisa de aceder a dados no Cloud Storage. Explore o catálogo REST do Iceberg (pré-visualização).
O motor de código aberto precisa de interoperabilidade com o BigQuery. Explore a integração do metastore do BigLake com motores de código aberto (como o Spark) usando o plug-in de catálogo Iceberg personalizado do BigQuery.

Vantagens

O metastore do BigLake oferece várias vantagens para a gestão e a análise de dados:

  • Arquitetura sem servidor. O metastore do BigLake oferece uma arquitetura sem servidor, o que elimina a necessidade de gestão de servidores ou clusters. Isto ajuda a reduzir os custos gerais operacionais, simplifica a implementação e permite o escalamento automático com base na procura.
  • Interoperabilidade do motor. O metastore do BigLake oferece-lhe acesso direto às tabelas em motores de código aberto (como o Spark e o Flink) e no BigQuery, o que lhe permite consultar tabelas de formato aberto sem configuração adicional. Por exemplo, pode criar uma tabela no Spark e, em seguida, consultá-la diretamente no BigQuery. Isto ajuda a simplificar o fluxo de trabalho de análise e reduz a necessidade de processos complexos de movimentação de dados ou ETL.
  • Experiência do utilizador unificada. O metastore do BigLake oferece um fluxo de trabalho unificado no BigQuery e nos motores de código aberto. Esta experiência unificada significa que pode configurar um ambiente Spark autogerido ou alojado pelo Dataproc através do catálogo REST do Iceberg (pré-visualização) ou pode configurar um ambiente Spark num bloco de notas do BigQuery Studio para fazer o mesmo.

Formatos de tabelas no metastore do BigLake

O BigLake suporta vários tipos de tabelas. Use a tabela seguinte para ajudar a selecionar o formato mais adequado ao seu exemplo de utilização:

Tabelas externas Tabelas Iceberg do BigLake Tabelas Iceberg do BigLake no BigQuery Tabelas padrão do BigQuery
Metastore Metastore externo ou autoalojado Metastore do BigLake Metastore do BigLake Metastore do BigLake
Armazenamento Cloud Storage / Amazon S3 / Azure Cloud Storage Cloud Storage BigQuery
Gestão Cliente ou terceiros Google Google (experiência altamente gerida) Google (experiência mais gerida)
Leitura / escrita Motores de código aberto (leitura/escrita)

BigQuery (só de leitura)
Motores de código aberto (leitura/escrita)

BigQuery (só de leitura)
Motores de código aberto (apenas leitura com bibliotecas Iceberg, interoperabilidade de leitura/escrita com a API BigQuery Storage)

BigQuery (leitura/escrita)

Motores de código aberto (interoperabilidade de leitura/escrita com a API BigQuery Storage)

BigQuery (leitura/escrita)

Exemplos de utilização Migrações, tabelas de preparação para carregamentos do BigQuery, autogestão Abra a casa no lago Lakehouse aberto, armazenamento de nível empresarial para estatísticas, streaming e IA Armazenamento de nível empresarial para estatísticas, streaming e IA

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

O metastore do BigLake é o metastore recomendado no Google Cloud.

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

  • O metastore do BigLake (clássico) é um serviço de metastore autónomo que é distinto do BigQuery e só suporta tabelas Iceberg. Tem um modelo de recursos de três partes diferente. As tabelas do metastore (clássico) do BigLake não são descobertas automaticamente a partir do BigQuery.
  • As tabelas no metastore do BigLake são acessíveis a partir de vários motores de código aberto e do BigQuery. O metastore do BigLake suporta a integração direta com o Spark, o que ajuda a reduzir a redundância quando armazena metadados e executa tarefas. O metastore do BigLake também suporta o catálogo REST do Iceberg (pré-visualização), que liga os dados do lakehouse em vários tempos de execução.

Limitações

As seguintes limitações aplicam-se às tabelas no metastore do BigLake:

  • Não pode criar nem modificar tabelas do metastore do BigLake com declarações DDL ou DML através do motor do BigQuery. Pode modificar as tabelas do metastore do BigLake através da API BigQuery (com a ferramenta de linha de comandos bq ou as bibliotecas de cliente), mas ao fazê-lo corre o risco de fazer alterações incompatíveis com o motor externo.
  • As tabelas do metastore do BigLake não suportam operações de mudança de nome nem ALTER TABLE ... RENAME TO declarações SQL do Spark.
  • As tabelas da metastore do BigLake estão sujeitas às mesmas cotas e limites que as tabelas padrão.
  • O desempenho das consultas para tabelas do metastore do BigLake a partir do motor do BigQuery pode ser lento em comparação com a consulta de dados numa tabela padrão do BigQuery. Em geral, o desempenho das consultas para uma tabela do metastore do BigLake deve ser equivalente à leitura dos dados diretamente do Cloud Storage.
  • Uma execução de teste de uma consulta que usa uma tabela do metastore do BigLake pode comunicar um limite inferior de 0 bytes de dados, mesmo que sejam devolvidas linhas. Este resultado ocorre porque não é possível determinar a quantidade de dados processados a partir da tabela até a consulta real estar concluída. A execução da consulta implica um custo para o processamento destes dados.
  • Não pode fazer referência a uma tabela do metastore do BigLake numa consulta de tabela com carateres universais.
  • Não pode usar o método tabledata.list para obter dados de tabelas do metastore do BigLake. Em alternativa, pode guardar os resultados da consulta numa tabela de destino e, em seguida, usar o método tabledata.list nessa tabela.
  • As tabelas da metastore do BigLake não suportam a agrupamento.
  • As tabelas da metastore do BigLake não suportam nomes de colunas flexíveis.
  • A apresentação de estatísticas de armazenamento de tabelas para tabelas do metastore do BigLake não é suportada.
  • O metastore do BigLake não suporta visualizações do Iceberg.

O que se segue?