Enable Apache Iceberg v3 deletion vectors on a table and migrate off position delete files

domain: iceberg.apache.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Upgrade the table to format version 3 (e.g. ALTER TABLE ... SET TBLPROPERTIES ('format-version'='3')) since deletion vectors are only defined in the Iceberg v3 spec.
  2. Confirm the writing engine (Spark, Trino, Snowflake, etc.) supports v3 writes; deletion vectors replace position delete files and are stored as Puffin files referenced from the manifest.
  3. Set write.delete.mode / write.update.mode / write.merge.mode to merge-on-read so deletes are recorded as deletion vectors instead of rewriting data files.
  4. Run a DELETE or UPDATE and inspect the files metadata table to confirm a single deletion vector is attached per affected data file.
  5. Run rewrite_data_files compaction periodically, since deletion vectors still accumulate against live files and eventually need merging back into base data.

Known gotchas

Related routes

Use Iceberg position deletes and equality deletes: understand tradeoffs and trigger merge-on-read vs copy-on-write
iceberg.apache.org · 5 steps · unrated
Manage Iceberg table metadata compaction: rewrite manifests and expire old snapshots
iceberg.apache.org · 5 steps · unrated
Apache Iceberg table compaction and maintenance
iceberg.apache.org · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans