Supported Properties of Apache Iceberg Tables
You can use the following properties to configure aspects of Apache Iceberg tables:
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.metrics.column.col1 | Metrics mode for column col1 to allow per-column tuning. Options: none , counts , truncate(length) , or full | (not set) |
write.metadata.metrics.default | Default metrics mode for all columns in the table. Options: none , counts , truncate(length) , or full | truncate(16) |
write.metadata.metrics.max-inferred-column-defaults | Defines the maximum number of top-level columns for which metrics are collected. The number of stored metrics can be higher than this limit for a table with nested fields. | 100 |
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-row-limit | The Parquet page row limit. | 20000 |
write.parquet.page-size-bytes | The Parquet page size (in bytes). | 1048576 (1 MB) |
write.parquet.row-group-size-bytes | Parquet row group size. Dremio uses this property as a target file size since it writes one row-group per Parquet file. Ignores the store.parquet.block-size and dremio.iceberg.optimize.target_file_size_mb support keys. | 134217728 (128 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 |
You can configure these properties when you create or alter Iceberg tables.
Dremio uses the Iceberg default value for table properties that are not set. See Iceberg's documentation for the full list of table properties. To view the properties that are set for a table, use the SQL command SHOW TBLPROPERTIES
.
In cases where Dremio has a support key for a feature covered by a table property, Dremio uses the table property instead of the support key.