Partition evolution
Why are partition changes different from compaction, and what does evolving a spec in metadata cost?
With directory-based layouts (for example /date=2025-01-05/part-000.parquet) the partition scheme is written into every file's path, so changing it means rewriting everything. Table formats that record partition values per file let old and new specs coexist; deciding a spec change and planning across specs is schema evolution's subject. What remains here is the bill: evolution is free going forward, but repartitioning history is a full rewrite, bounded by the number of bytes. There is no clever path. (Nadia's third request would cost her 3 years of rewriting; she chooses to apply the new spec to new data only.)