文章目录
Hudi Cleaning自动清理操作可删除过期、冗余和不必要的数据,提高查询性能和存储效率。
Automatic Hudi Cleaning操作说明
简介
Hudi是一个用于处理大规模数据存储和分析的开源框架,它提供了一种高效的数据摄取和查询方式,并支持增量更新和事务性操作,为了确保数据的质量和准确性,Hudi引入了自动清理机制,帮助用户管理过时或无效的数据。
准备工作
在使用Automatic Hudi Cleaning之前,需要完成以下准备工作:
1、安装Hudi:按照官方文档的指引,下载并安装Hudi。
2、创建Hudi表:使用Hudi提供的命令行工具或API创建Hudi表。
3、配置Hudi参数:根据实际需求,配置Hudi的相关参数,如存储路径、时间范围等。
Automatic Hudi Cleaning原理
Automatic Hudi Cleaning是基于Apache Spark的批处理作业,通过定期运行来清理过期或无效的数据,其工作原理如下:
1、定时触发:根据配置的时间间隔,Hudi会定期触发Automatic Hudi Cleaning作业。
2、数据筛选:在每次清理作业中,Hudi会根据配置的条件筛选出需要清理的数据。
3、数据删除:经过筛选后,Hudi会将需要删除的数据从存储系统中移除。
4、数据保留策略:可以根据需求设置数据的保留策略,如保留最近一段时间内的数据。
Configuration详解
以下是一些常用的Configuration参数,用于配置Automatic Hudi Cleaning:
参数名 | 默认值 | 描述 |
hudi.cleanup.job.enable | true | 是否启用Automatic Hudi Cleaning作业 |
hudi.cleanup.job.interval | "0 0 * * *" | 清理作业的执行时间间隔,使用Cron表达式进行配置 |
hudi.cleanup.delete.before | 1 | 删除数据前的最大时间范围,单位为天 |
hudi.cleanup.delete.after | 1 | 删除数据后的最短时间范围,单位为天 |
hudi.cleanup.retain.files | 1 | 保留文件的最大数量 |
hudi.cleanup.retain.commits | 1 | 保留提交的最大数量 |
常见问题与解答
问题1:如何修改Automatic Hudi Cleaning的执行时间间隔?
答:可以通过修改hudi.cleanup.job.interval
参数的值来调整Automatic Hudi Cleaning的执行时间间隔,将其设置为每天凌晨2点执行,可以使用Cron表达式0 0 2 * * *
。
问题2:如何设置数据的保留策略?
答:可以通过修改hudi.cleanup.retain.files
和hudi.cleanup.retain.commits
参数的值来设置数据的保留策略,将文件数量保留为最近7天的数据,可以将hudi.cleanup.retain.files
设置为7;将提交数量保留为最近30个提交,可以将hudi.cleanup.retain.commits
设置为30。