BigData / Apache Iceberg Interview questions
What are partition transforms in Iceberg?
A partition transform is a function applied to a source column's value to derive the actual partition value a row is grouped under — letting a table be partitioned by a meaningful, derived grouping (like the day or month of a timestamp) rather than requiring a raw, pre-computed partition column to already exist in the data.
| Transform | Example Use |
| identity | Partition directly by a column's raw value, e.g. country |
| year / month / day / hour | Partition a timestamp column by a time granularity |
| bucket(N, col) | Hash a column into N buckets, useful for high-cardinality columns |
| truncate(N, col) | Truncate a string or number to a fixed width/precision for grouping |
| void | A no-op transform, primarily used during partition evolution |
Because these transforms are computed automatically by Iceberg from the underlying column rather than requiring a separately maintained partition column, the same event_time column can drive day(event_time) partitioning today and be evolved to hour(event_time) later, without needing a corresponding change to the data itself — only the partition spec (a piece of metadata) changes.
More Related questions...