读取属性
| 属性名称 | 默认值 | 描述 |
|---|---|---|
| read.split.target-size | 134217728(128MB) | 设置数据被拆分后的目标大小。 |
| read.split.metadata-target-size | 33554432(32MB) | 设置元数据被拆分后的目标大小。 |
| read.split.planning-lookback | 10 | 设置拆分数据时的 bin 的数量。 |
| read.split.open-file-cost | 4194304(4MB) | 打开文件的预计成本,用来作为合并拆分时的最小权重。 |
| read.parquet.vectorization.enabled | true | 控制是否使用 Parquet 矢量化读取。 |
| read.parquet.vectorization.batch-size | 5000 | Parquet 矢量化读取的批处理大小。 |
| read.orc.vectorization.enabled | false | 用于控制是否使用 orc 矢量化读取。 |
| read.orc.vectorization.batch-size | 5000 | orc 矢量化读取的批处理大小。 |
写入属性
| 属性名称 | 默认值 | 描述 |
|---|---|---|
| write.format.default | parquet | 表的默认文件格式;parquet、Avro 或 orc |
| write.delete.format.default | data file format | 表的默认删除文件格式;parquet、Avro 或 orc |
| write.parquet.row-group-size-bytes | 134217728 (128 MB) | Parquet 行组大小 |
| write.parquet.page-size-bytes | 1048576 (1 MB) | Parquet 页面大小 |
| write.parquet.page-row-limit | 20000 | Parquet 页面行限制 |
| write.parquet.dict-size-bytes | 2097152 (2 MB) | Parquet 字典页面大小 |
| write.parquet.compression-codec | zstd | Parquet 压缩编解码器:zstd、brotli、lz4、gzip、snappy、uncompressed |
| write.parquet.compression-level | null | Parquet 压缩编解码器级别 |
| write.parquet.bloom-filter-enabled.column.col1 | (not set) | 提示 parquet 为列 col1 写一个布隆过滤器 |
| write.parquet.bloom-filter-max-bytes | 1048576 (1 MB) | 布隆过滤器位集的最大字节数 |
| write.parquet.bloom-filter-fpp.column.col1 | 0.01 | 应用于 col1 的布隆过滤器的假阳性概率(必须 > 0.0 且 < 1.0) |
| write.Avro.compression-codec | gzip | Avro 压缩编解码器:gzip(9 级 deflate)、zstd、snappy、uncompressed |
| write.avro.compression-level | null | Avro 压缩级别 |
| write.orc.stripe-size-bytes | 67108864 (64 MB) | 定义默认 ORC 条带大小(以字节为单位) |
| write.orc.block-size-bytes | 268435456 (256 MB) | 定义 ORC 文件的默认文件系统块大小 |
| write.orc.compression-codec | zlib | ORC 压缩编解码器:zstd、lz4、lzo、zlib、snappy、none |
| write.orc.compression-strategy | speed | ORC压缩策略:速度、压缩 |
| write.orc.bloom.filter.columns | (not set) | 必须为其创建布隆过滤器的列名的逗号分隔列表 |
| write.orc.bloom.filter.fpp | 0.05 | 布隆过滤器的假阳性概率(必须 > 0.0 且 < 1.0) |
| write.location-provider.impl | null | LocationProvider 的可选自定义实现 |
| write.metadata.compression-codec | none | 元数据压缩编解码器;none 或 gzip |
| write.metadata.metrics.max-inferred-column-defaults | 100 | 定义收集指标的顶级列的最大数量。对于具有嵌套字段的表,存储的指标数量可以高于此限制 |
| write.metadata.metrics.default | truncate(16) | 表中所有列的默认度量模式:none、counts、truncate(length)、full |
| write.metadata.metrics.column.col1 | (not set) | 列“col1”的度量模式允许对每个列进行调整:none、counts、truncate(length)、full |
| write.target-file-size-bytes | 536870912 (512 MB) | 控制生成的文件的大小,以值大小为目标 |
| write.delete.target-file-size-bytes | 67108864 (64 MB) | 控制生成的删除文件的大小,以值大小为目标 |
| write.distribution-mode | none, see engines for specific defaults | 定义写入数据的分布: none:不随机排列行; hash:按分区键进行哈希分布; range:按分区键或排序键(如果表有 SortOrder)进行范围分布 |
| write.delete.distribution-mode | hash | 定义写入删除数据的分布 |
| write.update.distribution-mode | hash | 定义写入更新数据的分布 |
| write.merge.distribution-mode | none | 定义写入合并数据的分布 |
| write.wap.enabled | false | 启用写入-审计-发布写入 |
| write.summary.partition-limit | 0 | 如果更改的分区数小于此限制,则在快照摘要中包含分区级摘要统计信息 |
| write.metadata.delete-after-commit.enabled | false | 控制提交后是否删除最老的跟踪版本元数据文件 |
| write.metadata.previous-versions-max | 100 | 提交后删除之前保留的先前版本元数据文件的最大数量 |
| write.spark.fanout.enabled | false | 启用 Spark 中的 fanout writer,不需要对数据进行聚类;使用更多内存 |
| write.object-storage.enabled | false | 启用对象存储位置提供程序,将哈希组件添加到文件路径 |
| write.object-storage.partitioned-paths | true | 在文件路径中包含分区值 |
| write.data.path | table location + /data | 数据文件的基本位置 |
| write.metadata.path | table location + /metadata | 元数据文件的基本位置 |
| write.delete.mode | copy-on-write | 用于删除命令的模式:copy-on-write or merge-on-read (v2 only) |
| write.delete.isolation-level | serializable | 删除命令的隔离级别:serializable or snapshot |
| write.update.mode | copy-on-write | 用于更新命令的模式:copy-on-write or merge-on-read (v2 only) |
| write.update.isolation-level | serializable | 更新命令的隔离级别:serializable or snapshot |
| write.merge.mode | copy-on-write | 合并命令使用的模式:copy-on-write or merge-on-read (v2 only) |
| write.merge.isolation-level | serializable | 合并命令的隔离级别:serializable or snapshot |
表行为属性
| 属性名称 | 默认值 | 描述 |
|---|---|---|
| commit.retry.num-retries | 4 | 失败前重试提交的次数 |
| commit.retry.min-wait-ms | 100 | 重试提交之前等待的最短时间(以毫秒为单位) |
| commit.retry.max-wait-ms | 60000 (1 min) | 重试提交之前等待的最长时间(以毫秒为单位) |
| commit.retry.total-timeout-ms | 1800000 (30 min) | 提交的总重试超时时间(以毫秒为单位) |
| commit.status-check.num-retries | 3 | 在由于未知提交状态而失败之前,在连接丢失后检查提交是否成功的次数 |
| commit.status-check.min-wait-ms | 1000 (1s) | 重试状态检查前等待的最短时间(以毫秒为单位) |
| commit.status-check.max-wait-ms | 60000 (1 min) | 重试状态检查之前等待的最长时间(以毫秒为单位) |
| commit.status-check.total-timeout-ms | 1800000 (30 min) | 提交状态检查必须成功的总超时时间(以毫秒为单位) |
| commit.manifest.target-size-bytes | 8388608 (8 MB) | 合并清单文件时的目标大小 |
| commit.manifest.min-count-to-merge | 100 | 合并前需累积的最少清单数量 |
| commit.manifest-merge.enabled | true | 控制是否在写入时自动合并清单 |
| history.expire.max-snapshot-age-ms | 432000000 (5 days) | 快照过期时保留在表及其所有分支上的快照的默认最大期限 |
| history.expire.min-snapshots-to-keep | 1 | 快照过期时保留在表及其所有分支上的默认最小快照数 |
| history.expire.max-ref-age-ms | Long.MAX_VALUE (forever) | 对于主分支以外的快照引用,快照过期时保留的快照引用的默认最大期限。 主分支永不过期。 |
更多参数详见Iceberg官方文档:
Iceberg Configuration:https://iceberg.apache.org/docs/nightly/configuration/