更新时间:2024-10-24 GMT+08:00
分享

Iceberg常用参数

本章节主要介绍Iceberg重要配置的详细信息。Iceberg表支持使用表属性来配置表的行为,例如读取器的默认拆分大小。

表1 读属性

属性名称

默认值

描述

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矢量化读取的批处理大小。

表2 写入属性

属性名称

默认值

描述

write.format.default

parquet

表的默认文件格式,包括:parquet、avro和orc。

write.delete.format.default

data file format

该参数的默认值和“write.format.default”参数值保持一致,可以修改为parquet、avro或orc。

write.parquet.row-group-size-bytes

134217728(128MB)

Parquet行组大小。

write.parquet.page-size-bytes

1048576(1MB)

Parquet页面大小。

write.parquet.page-row-limit

20000

Parquet页面行数限制。

write.parquet.dict-size-bytes

2097152(2MB)

Parquet字典页面大小。

write.target-file-size-bytes

536870912(512MB)

用于控制生成的文件大小,以目标字节数为准。

write.delete.target-file-size-bytes

67108864(64MB)

用于控制生成的删除文件大小,以目标字节数为准。

write.data.path

table location + /data

数据文件的基本位置。

write.metadata.path

table location + /metadata

元数据文件的基本位置。

write.delete.mode

copy-on-write

删除命令的模式,包括:

  • copy-on-write
  • merge-on-read

write.delete.isolation-level

serializable

删除命令的隔离级别,包括serializable和snapshot。

write.update.mode

copy-on-write

更新命令的模式,包括:

  • copy-on-write
  • merge-on-read

write.update.isolation-level

serializable

更新命令的隔离级别,包括serializable和snapshot。

write.merge.mode

copy-on-write

合并命令的模式,包括:

  • copy-on-write
  • merge-on-read

write.merge.isolation-level

serializable

合并命令的隔离级别,包括serializable和snapshot。

表3 表行为属性

属性名

默认值

描述

commit.retry.num-retries

4

在失败之前重试提交的次数。

commit.retry.min-wait-ms

100

重试提交之前等待的最小时间,单位为毫秒。

commit.retry.max-wait-ms

60000(1分钟)

重试提交之前等待的最大时间,单位为毫秒。

commit.retry.total-timeout-ms

1800000(30分钟)

提交的总重试超时时间,单位为毫秒。

commit.status-check.num-retries

3

在连接丢失后检查提交是否成功的次数,在未知提交状态下失败。

commit.status-check.min-wait-ms

1000(1秒)

重试状态检查之前等待的最小时间,单位为毫秒。

commit.status-check.max-wait-ms

60000(1分钟)

重试状态检查之前等待的最大时间,单位为毫秒。

commit.manifest.min-count-to-merge

100

累积清单文件进行合并之前的最小数量。

commit.manifest-merge.enabled

true

控制在写入时是否自动合并清单。

相关文档