hudi0.13版本clean策略

hudi0.13版本clean策略

在 Apache Hudi 0.13 版本中,清理策略对于数据管理和存储优化起着关键作用。为了确保数据湖的有效利用和性能优化,了解和正确配置清理策略至关重要。以下是 Hudi 0.13 版本的清理策略详细说明及注意事项。

清理策略概述

Hudi 提供了两种主要的清理策略:

  1. KEEP_LATEST_COMMITS:保留最近的几次提交。
  2. KEEP_LATEST_FILE_VERSIONS:保留每个文件的最近几个版本。

配置参数

以下是常见的配置参数:

  • hoodie.cleaner.policy:指定清理策略,可以是 KEEP_LATEST_COMMITSKEEP_LATEST_FILE_VERSIONS
  • hoodie.cleaner.commits.retained:对于 KEEP_LATEST_COMMITS 策略,指定要保留的最近提交次数。
  • hoodie.cleaner.fileversions.retained:对于 KEEP_LATEST_FILE_VERSIONS 策略,指定要保留的每个文件的版本数量。

详细说明

KEEP_LATEST_COMMITS

该策略保留最近的 N 次提交生成的文件,删除更早的文件版本。

配置示例:

conf.setString("hoodie.cleaner.policy", "KEEP_LATEST_COMMITS");
conf.setInteger("hoodie.cleaner.commits.retained", 5); // 保留最近 5 次提交

注意点:

  • 适用于频繁提交和更新的数据表,确保保留最近的数据变更记录,同时删除旧版本以释放存储空间。
  • 需要平衡保留的提交次数和存储空间的利用率。如果设置过小,可能会导致数据恢复困难;设置过大,可能会占用过多存储空间。
KEEP_LATEST_FILE_VERSIONS

该策略保留每个数据文件的最近 N 个版本,删除更早的文件版本。

配置示例:

conf.setString("hoodie.cleaner.policy", "KEEP_LATEST_FILE_VERSIONS");
conf.setInteger("hoodie.cleaner.fileversions.retained", 3); // 保留每个文件的最近 3 个版本

注意点:

  • 适用于需要保留每个文件的多个版本的情况,如需要回溯或审计历史数据。
  • 确保设置合理的文件版本保留数量,以防止存储空间不足或数据恢复困难。

清理策略的执行

清理操作由 Hudi 的 HoodieCleaner 进行管理,可以通过手动触发或自动定期执行。清理策略通常在提交操作之后自动执行,但也可以通过手动调用清理操作来管理数据文件。

配置示例

以下是一个完整的配置示例,展示如何在 Flink 或 Spark 应用中配置 Hudi 的清理策略:

Flink 配置示例:

import org.apache.flink.configuration.Configuration;

Configuration conf = new Configuration();
conf.setString("hoodie.cleaner.policy", "KEEP_LATEST_COMMITS");
conf.setInteger("hoodie.cleaner.commits.retained", 5);

Spark 配置示例:

import org.apache.hudi.config.HoodieWriteConfig;

val hudiOptions = Map(
  HoodieWriteConfig.CLEANER_POLICY_PROP -> "KEEP_LATEST_COMMITS",
  HoodieWriteConfig.CLEANER_COMMITS_RETAINED_PROP -> "5"
)

注意事项

  1. 资源管理:清理操作会消耗计算资源和I/O资源,建议在系统负载较低时进行清理操作,以避免影响系统性能。
  2. 监控和日志:定期监控清理操作的日志和指标,确保清理策略按预期执行,并及时调整配置。
  3. 备份和恢复:在调整清理策略前,确保有数据备份方案,以防误删除重要数据导致数据丢失。
  4. 测试和验证:在生产环境中应用新的清理策略前,建议在测试环境中进行充分测试,验证策略的有效性和影响。

通过合理配置和管理清理策略,可以确保 Hudi 表的高效运行和存储空间的优化。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值