Supported Properties of Apache Iceberg Tables
You can use table properties to configure many aspects of Iceberg tables. Read Table properties in the Iceberg documentation for a complete list. Dremio supports the following subset of table properties, which you can set when you create or alter an Iceberg table:
Property | Description | Default |
---|---|---|
commit.manifest.target-size-bytes | The target size when merging manifest files. | 8 MB |
commit.status-check.num-retries | The number of times to check whether a commit succeeded after a connection is lost before failing due to an unknown commit state. | 3 |
compatibility.snapshot-id-inheritance.enabled | Enables committing snapshots without explicit snapshot IDs. | false (always true if the format version is > 1) |
format-version | The table’s format version defined in the Spec. Options: 1 or 2 | 2 |
history.expire.max-snapshot-age-ms | The maximum age (in milliseconds) of snapshots to keep as expiring snapshots. | 432000000 (5 days) |
history.expire.min-snapshots-to-keep | The default minimum number of snapshots to keep as expiring snapshots. | 1 |
write.delete.mode | The table’s method for handling row-level deletes. See Row-Level Changes on the Lakehouse: Copy-On-Write vs. Merge-On-Read in Apache Iceberg for more information on which mode is best for your table’s DML operations. Options: copy-on-write or merge-on-read | copy-on-write |
write.merge.mode | The table’s method for handling row-level merges. See Row-Level Changes on the Lakehouse: Copy-On-Write vs. Merge-On-Read in Apache Iceberg for more information on which mode is best for your table’s DML operations. Options: copy-on-write or merge-on-read | copy-on-write |
write.metadata.compression-codec | The Metadata compression codec. Options: none or gzip | none |
write.metadata.delete-after-commit.enabled | Controls whether to delete the oldest tracked version metadata files after commit. | false |
write.metadata.previous-versions-max | The maximum number of previous version metadata files to keep before deleting after commit. | 100 |
write.parquet.compression-codec | The Parquet compression codec. Options: zstd , gzip , snappy , or uncompressed | zstd |
write.parquet.compression-level | The Parquet compression level. Supported for gzip and zstd . | null |
write.parquet.dict-size-bytes | The Parquet dictionary page size (in bytes). | 2097152 (2 MB) |
write.parquet.page-size-bytes | The Parquet page size (in bytes). | 1048576 (1 MB) |
write.summary.partition-limit | Includes partition-level summary stats in snapshot summaries if the changed partition count is less than this limit. | 0 |
write.update.mode | The table’s method for handling row-level updates. See Row-Level Changes on the Lakehouse: Copy-On-Write vs. Merge-On-Read in Apache Iceberg for more information on which mode is best for your table’s DML operations. Options: copy-on-write or merge-on-read | copy-on-write |
To view the properties that are set for a table, use the SQL command SHOW TBLPROPERTIES.