MAPREDUCE服务 MRS-离线Compaction配置
离线Compaction配置
对于MOR表的实时业务,通常设置在写入中同步生成compaction计划,因此需要额外通过DataArts或者脚本调度SparkSQL去执行已经产生的compaction计划。
- 执行参数
set hoodie.compact.inline = true; --打开compaction操作。 set hoodie.run.compact.only.inline = true; --compaction只执行已生成的计划,不产生新计划。 set hoodie.cleaner.commits.retained = 120; --清理保留120个commit。 set hoodie.keep.max.commits = 140; --归档最大保留140个commit。 set hoodie.keep.min.commits = 121; --归档最小保留121个commit。 set hoodie.clean.async = false; --打开异步清理。 set hoodie.clean.automatic = false; --关闭自动清理,防止compaction操作触发clean。 run compaction on $tablename; --执行compaction计划。 run clean on $tablename; --执行clean操作清理冗余版本。 run archivelog on $tablename; --执行archivelog合并清理元数据文件。
- 关于清理、归档参数的值不宜设置过大,会影响Hudi表的性能,通常建议:
hoodie.cleaner.commits.retained = compaction所需要的commit数的2倍
hoodie.keep.min.commits = hoodie.cleaner.commits.retained + 1
hoodie.keep.max.commits = hoodie.keep.min.commits + 20
- 执行compaction后再执行clean和archive,由于clean和archivelog对资源要求较小,为避免资源浪费,使用DataArts调度的话可以compaction作为一个任务,clean、archive作为一个任务分别配置不同的资源执行来节省资源使用。
- 关于清理、归档参数的值不宜设置过大,会影响Hudi表的性能,通常建议:
- 执行资源
- Compaction调度的间隔应小于Compaction计划生成的间隔,例如1小时左右生成一个Compaction计划的话,执行Compaction计划的调度任务应该至少半小时调度一次。
- Compaction作业配置的资源,vcore数至少要大于等于单个分区的桶数,vcore数与内存的比例应为1:4即1个vcore配4G内存。
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- MapReduce工作原理_MapReduce是什么意思_MapReduce流程_MRS_华为云
- GaussDB时序_时序引擎_高斯数据库时序-华为云
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- MapReduce服务_什么是Hue_如何使用Hue
- 语音转换文字_语音识别软件_离线语音识别-华为云