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:
- 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. - 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.
- 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. - 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
- Configure o catálogo de ambiente de execução usando o Apache Iceberg 1.10 e versões mais recentes.
- Configure o catálogo de ambiente de execução usando o Apache Iceberg 1.9 e versões anteriores.
- Crie e gerencie recursos de catálogo.
- Use o catálogo de ambiente de execução com tabelas do BigQuery.
- Use procedimentos armazenados do Apache Spark.
- Personalize outros recursos do catálogo.