Enable Deletion Vectors on the table: ALTER TABLE delta.`/path/to/table` SET TBLPROPERTIES ('delta.enableDeletionVectors' = 'true'); this requires Delta protocol version 3.
Execute a DELETE or UPDATE statement on specific rows; Delta will write a small deletion vector (DV) sidecar file marking deleted row positions rather than rewriting the entire Parquet file.
Confirm DVs are in use by running DESCRIBE HISTORY delta.`/path/to/table` and looking for operationMetrics indicating deletionVectorsAdded or numDeletionVectorsAdded.
Inspect the files metadata to see which data files have associated deletion vectors: SELECT path, deletionVector FROM delta.`/path/to/table`.__delta_log (or via Delta DeltaLog internals).
Periodically run OPTIMIZE to materialize pending DVs into clean Parquet files, preventing read overhead from accumulating too many DV-annotated files.
Known gotchas
Deletion Vectors require Delta reader protocol version 3; engines or connectors that do not support this protocol version will be unable to read tables with DVs enabled.
While DVs make individual deletes cheaper to write, they add overhead to reads because the engine must apply the DV bitmap to filter deleted rows; frequent reads on tables with many unapplied DVs should trigger periodic OPTIMIZE.
Not all Delta connectors outside of Spark (e.g., some Presto/Trino versions) support Deletion Vectors; verify connector compatibility before enabling DVs on tables shared across multiple engines.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp