1. 默认清理策略
在hudi系列-旧文件清理(clean)中介绍了清理的大致流程,可以防止文件系统的无限膨胀,所以它是必须的。hudi提供三种查询方式:读优化、快照读、增量读,无论是哪种方式,由于hudi的文件组织是有版本的概念(FileGroup,FileSlice),旧版本的文件持续在执行清理,如果被清理的文件正在读取或者即将被读取到,那岂不是很影响使用,所以我们需要设置合理的清理策略保障上层数据处理任务的平稳运行,提高系统的容错性。
- KEEP_LATEST_COMMITS:默认策略,表示保留最后n次提交,默认为10 ,通过参数hoodie.cleaner.commits.retained或clean.retain_commits(flink)设置;
- KEEP_LATES_FILE_VERSIONS:保留最后n个文件版本,默认为3,通过参数hoodie.cleaner.fileversions.retained设置;
- KEEP_LATEST_BY_HOURS:保留最后n小时,默认24小时,通过参数hoodie.cleaner.hours.retained设置,这是0.11版本后新增的;
可以通过hoodie.cleaner.policy来配置使用以上哪一种清理策略。
2. 选择清理策略
在flink+hudi的使用场景中,一般
本文详细介绍了Hudi的清理策略,包括默认的KEEP_LATEST_COMMITS策略,以及如何选择和配置基于时间的策略。推荐使用KEEP_LATEST_COMMITS,因为它在增量清理时能避免异常情况。建议根据应用需求和数据保留时长来设置合适的保留提交次数。
订阅专栏 解锁全文
823





