1、写入参数介绍
属性 |
默认值 |
描述 |
---|---|---|
write.format.default | parquet | 表的默认文件格式。parquet、avro、orc |
write.delete.format.default | 数据文件格式 | 表的默认删除文件格式。parquet、avro、orc |
write.parquet.row-group-size-bytes | 128 MB | Row Group大小,最细数据块大小 |
write.parquet.page-size-bytes | 1 MB | Page最小存储单元 |
write.parquet.compression-codec | gzip | parquet压缩编解码器。zstd, brotli, lz4, gzip, snappy, uncompressed |
write.parquet.compression-level | null | parquet压缩等级 |
write.avro.compression-codec | gzip | Avro压缩编解码器。gzip(deflate with 9 level), zstd, snappy, uncompressed |
write.avro.compression-level | null | Avro压缩等级 |
write.metadata.compression-codec | none | 元数据压缩编码。none、gzip |
write.target-file-size-bytes | 512MB | 控制生成的文件的大小 |
write.delete.target-file-size-bytes | 64MB | 控制生成的删除文件的大小 |
write.distribution-mode | none | 写数据的分布方式。none不处理;Hash按分区键散列;range如果表有SortOrder则按分区键或排序键范围分布 |
write.delete.distribution-mode | hash | 写删除数据时分布方式 |
write.update.distribution-mode | hash | 写更新数据时分布方式 |
write.merge.distribution-mode | none | 写合并数据时分布方式 |
write.metadata.delete-after-commit.enabled | false | 是否在提交后删除最旧跟踪版本元数据文件 |
write.metadata.previous-versions-max | 100 | 提交后删除之前保留的旧版本元数据文件最大值 |
write.data.path | table location+/data | 数据文件的基本位置 |
write.metadata.path | table location+/metadata | 元数据文件的基本位置 |
write.delete.mode | copy-on-write | 用于删除命令的模式:写时复制copy-on-write或读时合并merge-on-read(仅限v2) |
write.update.mode | copy-on-write | 用于更新命令的模式:写时复制copy-on-write或读时合并merge-on-read(仅限v2) |
write.merge.mode | copy-on-write | 用于合并命令的模式:写时复制copy-on-write或读时合并merge-on-read(仅限v2) |
write.merge.isolation-level | serializable | 合并命令的隔离级别:serializable、snapshot |
2、表行为属性
属性 |
默认值 |
描述 |
---|---|---|
属性 |
默认值 |
描述 |
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 (永久) | 对于除主分支以外的快照引用,在快照过期时要保留的快照引用的默认最大年龄。主干永不过期。 |
其它属性参考官网地址
1、iceberg官网-建表
https://iceberg.apache.org/docs/latest/configuration/
2、iceberg官网-flink写入