Apache Iceberg 1.12 cria atalho para deletion vectors em CDC e remove suporte a Spark 3.4
Versão de 29/09 do formato de tabelas converte equality deletes em deletion vectors no Flink, estreia clustering Hilbert e pede cuidado no upgrade.
O projeto Apache Iceberg, formato aberto de tabelas usado em data lakes e lakehouses, lançou a versão 1.12.0 em 29 de setembro de 2026, segundo a página oficial de releases. De acordo com o anúncio do projeto, publicado em 5 de outubro, a versão reúne 777 commits de 142 contribuidores desde a 1.11.0 e combina novidades para streaming e organização de dados com remoções que exigem cuidado na atualização.
Deletes de streaming mais baratos de ler
Pipelines que fazem upsert em tabelas Iceberg a partir de streaming costumam gravar equality deletes, marcadores que mandam descartar toda linha cuja chave corresponda a certos valores. Eles são baratos de escrever, mas caros de ler: a cada consulta, o motor precisa cruzar valores para descobrir quais linhas ainda existem. A 1.12 adiciona uma tarefa de manutenção nativa do Flink, ConvertEqualityDeletes, que resolve esses marcadores uma única vez e os transforma em deletion vectors, que apontam linhas apagadas por posição. A tarefa exige tabelas no formato versão 3 e roda em Flink 1.20, 2.1, 2.2 e 2.3.
Em análise publicada em 4 de outubro, a LakeOps, empresa que vende serviços de operação de lakehouses, classificou o recurso como o mais valioso da versão para quem roda CDC em Iceberg e nota que a leitura vem se degradando. A mesma análise ressalva que, por ser uma tarefa do Flink, ambientes que usam apenas Spark ainda não têm esse caminho.
Organização dos dados, tipos e catálogo
No Spark 4.1, a rotina rewrite_data_files ganha clustering pela curva de Hilbert, alternativa ao Z-order para agrupar linhas com valores próximos em várias colunas e melhorar o descarte de arquivos em filtros multicoluna. A versão também corrige a codificação Z-order de valores de ponto flutuante. Colunas Variant, para dados semiestruturados, passam a ter leitura vetorizada no Spark 4.0 e 4.1, e os tipos geometry e geography ganham leitura e escrita em Parquet e Avro. No Spark, o suporte geoespacial vale só para a versão 4.1 e ainda não há predicados espaciais.
No protocolo REST de catálogo entram endpoints para listar e carregar funções e para desregistrar uma tabela sem apagar seus dados. A especificação também passa a prever restrições de leitura, como mascaramento de colunas e filtros de linha, mas o anúncio oficial avisa que nenhum leitor do Iceberg aplica essas restrições na 1.12.0.
O que pode quebrar no upgrade
O suporte a Spark 3.4 e Flink 2.0 foi removido; a página oficial oferece pacotes para Spark 3.5, 4.0 e 4.1 e para Flink 1.20, 2.1, 2.2 e 2.3. A gravação de position deletes com dados da linha deixou de existir. Segundo o guia da Dremio, de 30 de setembro, arquivos antigos desse tipo continuam legíveis, mas duas ações de manutenção passam a rejeitá-los. Quem gerencia as dependências do AWS SDK por conta própria precisa trocar o cliente HTTP apache-client pelo apache5-client. A versão ainda corrige duas vulnerabilidades de alta gravidade na biblioteca jackson-databind.
O trabalho no formato V4 avança, com leitor de manifestos e caminhos relativos, mas o projeto afirma que o V4 segue em desenvolvimento e não foi formalizado. Há divergência entre análises sobre o Spark 4.2, lançado em julho: a LakeOps diz que o suporte foi retirado da 1.12 por ser grande demais para revisão a tempo, enquanto a Dremio menciona trabalho incluído no código-fonte. Na prática, equipes que já migraram para o Spark 4.2 devem conferir a disponibilidade de pacotes antes de planejar a atualização.
Fontes
- Apache Iceberg — Releases — 1.12.0 release (29/09/2026)
- Apache Iceberg — Apache Iceberg 1.12.0 Release (05/10/2026)
- Dremio (Alex Merced) — Apache Iceberg 1.12.0: What’s New, Breaking Changes, and Upgrade Guide (30/09/2026)
- LakeOps (Rob M) — Apache Iceberg 1.12.0 — What’s New? (04/10/2026)
Imagem destacada: ilustração gerada por computador, sem valor documental.


