Sobre o endpoint do catálogo personalizado do Apache Iceberg para BigQuery

O endpoint do catálogo personalizado do Apache Iceberg para BigQuery conecta mecanismos de consulta de código aberto, como o Apache Spark e o Apache Flink, ao catálogo de ambiente de execução do Lakehouse. Ao integrar um plug-in de catálogo personalizado (BigQueryMetastoreCatalog), esse endpoint permite gerenciar e consultar metadados de tabelas do Apache Iceberg diretamente pelo BigQuery, armazenando dados e arquivos de metadados no Cloud Storage.

Como o catálogo personalizado do Iceberg funciona

O catálogo personalizado do Apache Iceberg usa uma implementação de catálogo personalizada (org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog) fornecida em uma biblioteca JAR. Quando as cargas de trabalho de computação são executadas no Serviço Gerenciado para Apache Spark, o mecanismo usa esse plug-in para interagir com o BigQuery como o armazenamento de metadados das tabelas do Apache Iceberg.

O fluxo de trabalho funciona da seguinte maneira:

  1. Implementação do catálogo:os mecanismos de consulta carregam o JAR do catálogo do Metastore do BigQuery e configuram as propriedades do catálogo da sessão do Spark para usar org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog.
  2. Gerenciamento de metadados:ao criar ou modificar tabelas usando as APIs do Spark SQL ou do DataFrame, o plug-in armazena as definições de conjunto de dados e de tabela no BigQuery.
  3. Armazenamento de dados:os arquivos de metadados do Apache Iceberg (metadata.json, listas de manifestos, manifestos) e os arquivos de dados (como arquivos Parquet) são armazenados diretamente no caminho do data warehouse do Cloud Storage especificado.
  4. Acesso entre mecanismos:como os metadados são registrados no BigQuery, é possível consultar tabelas de mecanismos de código aberto, como o Spark, e diretamente do BigQuery.

Hierarquia de recursos

O endpoint do catálogo personalizado do Apache Iceberg para BigQuery organiza os metadados na seguinte hierarquia:

Recurso Descrição
Projeto O Google Cloud projeto que contém os recursos do BigQuery e o armazenamento do data warehouse do Cloud Storage.
Namespace (conjunto de dados) Um conjunto de dados do BigQuery configurado para atuar como um namespace do Iceberg, definindo o local padrão do Cloud Storage para tabelas criadas nele.
Tabela Uma tabela do Apache Iceberg cujo esquema, snapshots e indicadores de metadados são rastreados no BigQuery e cujos arquivos de dados residem no Cloud Storage.

Comparar catálogos personalizados do Iceberg e catálogos REST do Iceberg

A tabela a seguir resume as principais diferenças entre o endpoint do catálogo personalizado do Apache Iceberg para BigQuery e o endpoint do catálogo REST do Apache Iceberg:

Recurso Catálogo personalizado do Iceberg para BigQuery Endpoint do catálogo REST do Apache Iceberg (recomendado)
Padrão da API do catálogo Plug-in personalizado (BigQueryMetastoreCatalog) API de catálogo REST do Apache Iceberg padrão aberta
Hierarquia do catálogo Projeto > conjunto de dados do BigQuery > tabela Projeto > catálogo > namespace > tabela (P.C.N.T)
Configuração de armazenamento Caminhos do Cloud Storage especificados por conjunto de dados ou tabela Catálogos de vários buckets (bl://) ou de bucket único (gs://)
Distribuição de credenciais Indisponível (usa credenciais diretas do IAM) Compatível (distribui tokens de acesso de armazenamento de curta duração)
Recuperação de desastres Indisponível Compatível (replicação e failover entre regiões)
Recomendado para Implantações e fluxos de trabalho atuais Novas cargas de trabalho e integrações de clientes REST padrão do Iceberg

A seguir