Skip to main content
Version: current [26.x Preview]

Supported Properties of Apache Iceberg Tables

You can use the following table properties to configure aspects of Apache Iceberg tables when you create or alter the table:

PropertyDescriptionDefault
commit.manifest.target-size-bytesThe target size when merging manifest files.8 MB
commit.status-check.num-retriesThe 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.enabledEnables committing snapshots without explicit snapshot IDs.false (always true if the format version is > 1)
dremio.clustering.target_clustering_depthThe target clustering depth.3
dremio.clustering.target_cluster_sizeThe target size of the cluster.3GB
dremio.clustering.minimal_cluster_sizeThe minimal size of the cluster.64MB
dremio.clustering.maximal_input_data_file_count_per_runThe maximal data file to process per iteration.10000
dremio.clustering.dremio.clustering.maximal_total_input_data_file_size_per_runThe maximal total data file sizes to rewrite per iteration run.200GB
format-versionThe table’s format version is defined in the Spec. Options: 1 or 22
history.expire.max-snapshot-age-msThe maximum age of snapshots to keep while expiring snapshots.432000000 (5 days)
history.expire.min-snapshots-to-keepThe minimum number of snapshots to keep while expiring snapshots.1
write.delete.modeThe 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-readcopy-on-write
write.merge.modeThe 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-readcopy-on-write
write.metadata.compression-codecMetadata compression codec. Options: none or gzipnone
write.metadata.delete-after-commit.enabledControls whether to delete the oldest tracked version metadata files after the commit. This property has no impact on tables created in Nessie catalogs.false
write.metadata.metrics.column.col1Metrics mode for column col1 to allow per-column tuning. Options: none, counts, truncate(length), or full(not set)
write.metadata.metrics.defaultDefault metrics mode for all columns in the table. Options: none, counts, truncate(length), or fulltruncate(16)
write.metadata.metrics.max-inferred-column-defaultsDefines 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-maxThe maximum number of previous version metadata files to keep before deleting after the commit.100
write.parquet.compression-codecThe Parquet compression codec. Ignores the store.parquet.compression support key. Options: zstd, gzip, snappy, or uncompressedzstd
write.parquet.compression-levelThe Parquet compression level. Ignores the store.parquet.compression.zstd.level support key. Supported for gzip and zstd.null
write.parquet.dict-size-bytesThe Parquet dictionary page size. Ignores the store.parquet.dictionary.page-size support key.2097152 (2 MB)
write.parquet.page-row-limitThe Parquet page row limit.20000
write.parquet.page-size-bytesThe Parquet page size. Ignores the store.parquet.page-size support key.1048576 (1 MB)
write.parquet.row-group-size-bytesParquet 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-limitIncludes partition-level summary stats in snapshot summaries if the changed partition count is less than this limit.0
write.target-file-size-bytesControls the size of files generated to target about this many bytes.536870912 (512 MB)
write.update.modeThe 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-readcopy-on-write

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.

Dremio also 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.