1. hudi清理策略
代码位置
org.apache.hudi.table.action.clean.CleanPlanner getDeletePaths(String partitionPath)
1.1 策略一:KEEP_LATEST_FILE_VERSIONS
相关参数:hoodie.cleaner.fileversions.retained=3 默认值
每个file group保留3个版本。如果不需要多个版本,保留一个就行。
1.2.策略二: KEEP_LATEST_COMMITS (默认策略)
相关参数:hoodie.cleaner.commits.retained=10 默认值
每个file group的文件,除最新的一个文件外,额外保留最近10次commit命中过的文件的版本。
1.3.KEEP_LATEST_COMMITS 策略注意事项:
- 使用KEEP_LATEST_COMMITS 策略,如果某个parquet文件每次commit都命中,则会有11个文件版本
- 不同分区的文件,共享commit版本数。所以历史分区的文件,如果在最近10次commit都没有文件命中,则只会保留最新的一个版本
- 如果不使用增量查询,则应减少hoodie.cleaner.commits.retained的值,节省hdfs空间