Iceberg参数调整
1、读取参数介绍
| 属性 | 默认值 | 描述 |
| read.split.target-size | 134217728 (128 MB) |
组合数据输入分割时的目标大小
|
| read.split.metadata-target-size | 33554432 (32 MB) |
组合元数据输入分割时的目标大小
|
| read.split.planning-lookback | 10 |
组合输入分割时要考虑的箱数
|
| read.split.open-file-cost | 4194304 (4 MB) |
打开文件的估计成本,在组合拆分时用作最小权重。
|
| read.parquet.vectorization.enabled | true | 控制是否使用Parquet矢量化读取 |
| read.parquet.vectorization.batch-size | 5000 | Parquest矢量化读取的批大小 |
| 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 | 数据文件格式 | 表的默认删除文件格式。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 |
3、表行为属性
|
属性 |
默认值 |
描述 |
|---|---|---|
| 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 (永久) | 对于除主分支以外的快照引用,在快照过期时要保留的快照引用的默认最大年龄。主干永不过期。 |
3、保留表属性
| 属性 | 默认值 | 描述 |
| format-version | 1 | 表的格式版本(可以是 1 或 2)根据规范定义。 |
4、兼容性标志
| 属性 | 默认值 | 描述 |
| compatibility.snapshot-id-inheritance.enabled | false | 启用无需显式快照ID提交快照 |
5、catalog属性
| 属性 | 默认值 | 描述 |
|---|---|---|
| catalog-impl | null | 自定义Catalog实现,由引擎使用 |
| io-impl | null | 自定义FileIO实现,用于Catalog中 |
| warehouse | null | 数据仓库的根路径 |
| uri | null | URI字符串,如Hive metastore的URI |
| clients | 2 | 客户端池大小 |
| cache-enabled | true | 是否缓存catalog条目 |
| cache.expiration-interval-ms | 30000 | catalog条目在本地缓存的时间间隔(毫秒);0禁用缓存,负值禁用过期 |
| metrics-reporter-impl | org.apache.iceberg.metrics.LoggingMetricsReporter | 自定义MetricsReporter实现,用于catalog。有关更多详细信息,请参见Metrics reporting部分 |
6、锁定catalog属性
| 属性 | 默认值 | 描述 |
|---|---|---|
| lock-impl | null | 锁管理器的自定义实现,实际接口取决于所使用的目录 |
| lock.table | null | 用于锁定的辅助表,例如AWS DynamoDB锁管理器 |
| lock.acquire-interval-ms | 5000 (5 秒) | 获取锁之间等待的间隔 |
| lock.acquire-timeout-ms | 180000 (3 分钟) | 尝试获取锁的最大时间 |
| lock.heartbeat-interval-ms | 3000 (3 秒) | 获取锁后每个心跳之间等待的间隔 |
| lock.heartbeat-timeout-ms | 15000 (15 秒) | 在没有心跳的情况下将锁视为过期的最长时间 |
7、Hadoop配置
| 属性 | 默认值 | 描述 |
|---|---|---|
| iceberg.hive.client-pool-size | 5 | 在HMS中跟踪表时Hive客户端池的大小 |
| iceberg.hive.lock-creation-timeout-ms | 180000 (3 分钟) | 在HMS中创建锁的最大时间(毫秒) |
| iceberg.hive.lock-creation-min-wait-ms | 50 | 在HMS中创建锁时重试之间的最小时间间隔(毫秒) |
| iceberg.hive.lock-creation-max-wait-ms | 5000 | 在HMS中创建锁时重试之间的最大时间间隔(毫秒) |
| iceberg.hive.lock-timeout-ms | 180000 (3 分钟) | 获取锁的最大时间(毫秒) |
| iceberg.hive.lock-check-min-wait-ms | 50 | 检查获取锁之间的最小时间间隔(毫秒) |
| iceberg.hive.lock-check-max-wait-ms | 5000 | 检查获取锁之间的最大时间间隔(毫秒) |
| iceberg.hive.lock-heartbeat-interval-ms | 240000 (4 分钟) | HMS锁的心跳间隔 |
| iceberg.hive.metadata-refresh-max-retries | 2 | 元数据文件丢失时的最大重试次数 |
| iceberg.hive.table-level-lock-evict-ms | 600000 (10 分钟) | JVM表级锁超时时间 |
| iceberg.engine.hive.lock-enabled | true | 使用HMS锁确保提交的原子性 |
其它属性参考官网地址
1、iceberg官网-建表
https://iceberg.apache.org/docs/latest/configuration/
2、iceberg官网-flink写入
https://iceberg.apache.org/docs/latest/flink-connector/
Iceberg参数调整的更多相关文章
- Galera集群server.cnf参数调整--Innodb存储引擎内存相关参数(一)
在innodb引擎中,内存的组成主要有三部分:缓冲池(buffer pool),重做日志缓存(redo log buffer),额外的内存池(additional memory pool).
- Galera集群server.cnf参数调整--前言
文档安排: 前言部分会简述下galera集群,正文中会针对我们线上的环境,在不断业务的情况下,进行参数调整的话,有些参数不能够进行配置,会以#***的形式写入配置文件中,文档也会进行进一步说明. 如果 ...
- paip.提升性能---mysql 性能 测试以及 参数调整.txt
paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://b ...
- paip.提升性能----jvm参数调整.txt
paip.提升性能----jvm参数调整.txt 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.n ...
- Linux VM子系统参数调整
Timesten数据库下的Linux page子系统参数调整 如果Timesten(TT)采用了Durablecommits或是share memory segment被lock的话,那么linux ...
- 在Linux上进行内核参数调整
在Solaris上,使用工具mdb就可以直接修改内核内存里的内容.而在Linux上,则通常使用命令sysctl(8)做类似的事情. 本文以Fedora为例,介绍如何在Linux上进行内核参数调整. 常 ...
- Storm集群参数调整
Supervisor 参数调整 修改${STORM_HOME}conf/storm.yaml文件内容 supervisor变更参数 slots 配置: 若storm host仅仅执行superviso ...
- PID参数调整的口诀
PID参数调整的口诀:参数整定找最佳,从小到大顺序查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大湾,比例度盘往小扳曲线偏离回复慢,积分时间往下降曲线波动周期长,积分时间再加 ...
- Linux 内核参数 和 Oracle相关参数调整
Linux 内核参数 和 Oracle相关参数调整 分类: Oracle Basic Knowledge2009-10-14 12:23 9648人阅读 评论(0) 收藏 举报 oraclelinux ...
- #调整随机森林的参数(调整n_estimators随机森林中树的数量默认10个树,精度递增显著,但并不是越多越好),加上verbose=True,显示进程使用信息
#调整随机森林的参数(调整n_estimators随机森林中树的数量默认10个树,精度递增显著) from sklearn import datasets X, y = datasets.make_c ...
随机推荐
- CAD快速图层孤立、隐藏、锁定下载
AutoCAD快速图层孤立.隐藏.锁定插件下载 链接 AutoCAD Quick Layer Isolation, Hide, Lock Plugin Download Link MAG.fas&am ...
- One API 替代品 Chat Nio 安装与使用教程
有这样一位初中生,他在初一下学期发起了一个项目,专门用来给他的朋友们免费体验 GPT 模型. 到了八年级的暑假,他决定把这个项目开源出来,并且正式命名为 Chat Nio,同时项目的定位为一站式 LL ...
- 《JavaScript 模式》读书笔记(7)— 设计模式3
这一篇,我们学习本篇中最为复杂的三个设计模式,代理模式.中介者模式以及观察者模式.这三个模式很重要!! 七.代理模式 在代理设计模式中,一个对象充当另一个对象的接口.它与外观模式的区别之处在于,外观模 ...
- ChatGPT生成测试用例的最佳实践(一)
前面介绍的案例主要展示了ChatGPT在功能.安全和性能测试用例生成方面的应用和成果.通过ChatGPT生成测试用例,测试团队不仅可以提升工作效率,还可以加快测试工作的速度,尽早发现被测系统中的问题. ...
- 使用TOPIAM 轻松搞定「JumpServer」单点登录
本文将介绍 TOPIAM 与 JumpServer 集成步骤详细指南. 应用简介 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统.JumpServer 帮助企业 ...
- 在PlatformIO IDE中对ESP32的CPU主频等进行配置
前言 rt,有一天开发中需要尽可能发挥ESP32的全部性能,提高主频自然是首选,在Arduino IDE中修改主频很方便,但在PlatformIO IDE中修改主频的方法网上说的却很少,今天就总结一下 ...
- Gitee三方登录_Python (超详细)
第三方登录是一种常见的身份验证机制,允许用户使用他们在其他平台(如社交媒体.电子邮件服务或开发平台)的账号来登录你的应用或网站,而不需要创建新的用户名和密码.这种方式不仅简化了用户的登录过程,还提高了 ...
- 【数据库】MongoDB服务启动失败的问题。
1.确保MongoDB所在文件夹拥有所有权限 2.确保打开CMD窗口是以管理员身份运行的 3.配置文件中的路径应该为完整路径,且不包含空格和特殊字符(不建议包含) systemLog: destina ...
- 【MyBatis】学习笔记13:延迟加载(懒加载)
目录 Mybatis13:延迟加载(懒加载) 测试 测试1 测试2 部分特殊情况处理 Mybatis13:延迟加载(懒加载) 延迟加载是分步查询的好处,默认是不开启延迟加载的,要开启需要在核心配置文件 ...
- 《Spring Boot+Vue全栈开发实战-王松2018》一书pdf+源码下载
下载地址为: 链接:https://pan.baidu.com/s/18lnF2KemQTqkKaCRmMbvXA 提取码:1pie 版权声明:本书版权属于出版社和作者.仅学习使用,请于下载后24小时 ...