Hudi Clean操作说明
什么是Clean
Cleaning用于清理Hudi表不再需要的老版本数据文件 (parquet文件或者log文件),减轻存储压力,提升list操作效率。
如何执行Clean
- 写完数据后clean
- Spark SQL(设置如下参数,随后执行任意写入SQL时,在满足条件时触发)
hoodie.clean.automatic=true hoodie.cleaner.commits.retained=10 // 默认值为10,根据业务场景指定
- SparkDataSource(option里设置如下参数,写数据时触发)
hoodie.cleaner.commits.retained=10 // 默认值为10,根据业务场景指定
- Flink(with属性里设置如下参数,写数据时触发)
clean.retain_commits=10 // 默认值为10,根据业务场景指定
- Spark SQL(设置如下参数,随后执行任意写入SQL时,在满足条件时触发)
- 手动触发1次clean
- Spark SQL(set设置如下参数,手动触发1次)
hoodie.clean.automatic=true hoodie.cleaner.commits.retained=10 // 默认值为10,根据业务场景指定
随后执行SQL,当Timeline中有10个以上的Instant记录时,会触发clean
run clean on ${table_name}