更新时间:2024-12-25 GMT+08:00
分享

CLEANARCHIVE

命令功能

用于对Hudi表的归档文件进行清理,以减少Hudi表的数据存储及读写压力。

命令格式

  • 按文件容量进行清理,需要配置参数:
    hoodie.archive.file.cleaner.policy = KEEP_ARCHIVED_FILES_BY_SIZE;
    hoodie.archive.file.cleaner.size.retained = 5368709120;

    提交SQL

    run cleanarchive on tableIdentifier/tablelocation;
  • 按保留时间进行清理,需要配置参数:
    hoodie.archive.file.cleaner.policy = KEEP_ARCHIVED_FILES_BY_DAYS;
    hoodie.archive.file.cleaner.days.retained = 30;

    提交SQL

    run cleanarchive on tableIdentifier/tablelocation;

参数描述

表1 参数描述

参数

描述

tableIdentifier

Hudi表的名称。

tablelocation

Hudi表的存储路径。

hoodie.archive.file.cleaner.policy

清理归档文件的策略:目前仅支持KEEP_ARCHIVED_FILES_BY_SIZE和KEEP_ARCHIVED_FILES_BY_DAYS两种策略,默认策略为KEEP_ARCHIVED_FILES_BY_DAYS。

  • KEEP_ARCHIVED_FILES_BY_SIZE策略可以设置归档文件占用的存储空间大小
  • KEEP_ARCHIVED_FILES_BY_DAYS策略可以清理超过某个时间点之外的归档文件

hoodie.archive.file.cleaner.size.retained

当清理策略为KEEP_ARCHIVED_FILES_BY_SIZE时,该参数可以设置保留多少字节大小的归档文件,默认值5368709120字节(5G)。

hoodie.archive.file.cleaner.days.retained

当清理策略为KEEP_ARCHIVED_FILES_BY_DAYS时,该参数可以设置保留多少天以内的归档文件,默认值30(天)。

注意事项

  • 归档文件,没有备份,删除之后无法恢复。
  • 使用由DLI提供的元数据服务时,本命令不支持使用OBS路径。

系统响应

可以检查任务状态是否成功,查看任务日志确认有无异常。

相关文档