automatic_Hudi Cleaning操作说明
创始人
2024-10-15 13:07:44

Automatic Hudi Cleaning操作说明

automatic_Hudi Cleaning操作说明(图片来源网络,侵删)

自动Hudi清理是Apache Hudi的一个功能,用于自动删除旧的、不再需要的数据集版本,这种清理基于配置的策略,可以定期或在数据写入时执行。

1. 配置Hudi清理策略

要配置Hudi清理策略,您需要在Hudi表的Spark SQL创建语句中指定HudiTableSink选项,以下是一个示例:

 CREATE TABLE hudi_table (   ... ) USING org.apache.hudi.spark.HoodieSparkSqlQueryableDataSource OPTIONS (   'hoodie.data.publisher'='org.apache.hudi.spark.datasource.write.DataWriterFactory',   'hoodie.cleaner.commits.retained.time'='1d',   'hoodie.cleaner.min.commits'='5',   'hoodie.cleaner.enable'='true',   'hoodie.cleaner.schedule'='10 mins',   'hoodie.cleaner.policy'='COMPACTION' ); 

在这个例子中,我们配置了以下策略:

hoodie.cleaner.commits.retained.time: 保留最近1天的所有提交(即不会删除这些提交)。

hoodie.cleaner.min.commits: 至少保留5个提交,即使它们的时间戳比hoodie.cleaner.commits.retained.time更老。

hoodie.cleaner.enable: 启用自动清理。

hoodie.cleaner.schedule: 每10分钟进行一次清理。

hoodie.cleaner.policy: 使用COMPACTION策略进行清理。

2. 启动Hudi清理

一旦配置了清理策略,Hudi将在后台自动执行清理任务,如果您想手动触发清理,可以使用以下命令:

 CALL system.hudi_clean('hudi_table'); 

这将立即执行清理操作,而不是等待下一个计划的清理周期。

3. 监控和调试Hudi清理

要监控和调试Hudi清理,您可以查看Hudi表的提交历史和清理历史,以下是一些有用的查询:

查看所有提交:

 SELECT * FROM hudi_table.hoodie_commits; 

查看所有清理:

 SELECT * FROM hudi_table.hoodie_cleans; 

查看当前保留的提交:

 SELECT * FROM hudi_table.hoodie_retained_commits; 

通过这些查询,您可以了解Hudi清理是否按预期工作,以及是否需要调整清理策略。

相关内容

热门资讯

百信申请服务器安全防护方法及系... 国家知识产权局信息显示,百信信息技术有限公司申请一项名为“一种服务器安全防护方法及系统”的专利,公开...
万宁市第四届“书香万宁·读书月... 4月12日,万宁市2026年度全民读书暨第四届“书香万宁·读书月”活动启动仪式在北京师范大学万宁实验...
1300+创新产品展出!第六届... 4月12日,第六届中国国际消费品博览会国际健康消费分展区开幕式暨“消博乐行——创新之光守康宁”主题发...
原创 飞... 在AI硬件赛道日益内卷的当下,全球科技巨头纷纷押注穿戴式设备,试图抢占下一代人机交互的入口。然而,最...
互联网大厂的 2025:千亿利... 1998 年的西科金融股东大会上,一位股东问查理芒格,在读上市公司年报时,应该从哪儿入手?看什么内容...