Partition evolution feature
Partition evolution means you can change the partition layout of the table without rewriting existing data files. Old data files can remain partitioned by the old partition layout, while newly added data files are partitioned based on the new layout.
You can use the ALTER TABLE SET PARTITION SPEC statement to change the partition layout of an Iceberg table. A change to the partition spec results in a new metadata.json and a commit, but does not create a new snapshot.
Hive or Impala syntax
ALTER TABLE table_name SET PARTITION SPEC ([col_name][, spec(value)][, spec(value)]...)]
The specification for a transform listed in the next topic, "Partition transform feature".
Hive or Impala examples
ALTER TABLE t SET PARTITION SPEC ( TRUNCATE(5, level), HOUR(event_time), BUCKET(15, message), price); ALTER TABLE ice_p SET PARTITION SPEC (VOID(i), VOID(d), TRUNCATE(3, s), HOUR(t), i);