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 do 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, enquanto armazena arquivos de dados e metadados no Cloud Storage.
Como funciona o catálogo personalizado do Iceberg
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 BigQuery Metastore e configuram as propriedades do catálogo de sessões do Spark para usar
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog. - Gerenciamento de metadados:quando você cria ou modifica tabelas usando as APIs Spark SQL ou DataFrame, o plug-in armazena as definições de conjunto de dados e 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 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 projeto do Google Cloud que contém os recursos do BigQuery e o armazenamento 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 as tabelas criadas nele. |
| Tabela | Uma tabela do Apache Iceberg com esquema, snapshots e ponteiros de metadados rastreados no BigQuery e arquivos de dados que 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 o BigQuery e o endpoint do catálogo REST do Apache Iceberg:
| Recurso | Catálogo personalizado do Iceberg para o BigQuery | Endpoint do catálogo REST do Apache Iceberg (recomendado) |
|---|---|---|
| Padrão da API Catalog | Plug-in personalizado (BigQueryMetastoreCatalog) |
API REST do catálogo do Apache Iceberg de padrão aberto |
| 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 ou de bucket único |
| Fornecimento de credenciais | Não compatível (usa credenciais diretas do IAM) | Compatível (vende tokens de acesso de armazenamento de curta duração) |
| Recuperação de desastres | Sem suporte | 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 padrão de clientes REST do Iceberg |
A seguir
- Configure o catálogo do ambiente de execução usando o Apache Iceberg 1.10 e versões mais recentes.
- Configure o catálogo do ambiente de execução usando o Apache Iceberg 1.9 e versões anteriores.
- Criar e gerenciar recursos de catálogo.
- Usar o catálogo do ambiente de execução com tabelas do BigQuery.
- Usar procedimentos armazenados do Apache Spark.
- Personalize outros recursos do catálogo.