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

Hudi Clean操作说明

什么是Clean

Cleaning用于清理Hudi表不再需要的老版本数据文件 (parquet文件或者log文件),减轻存储压力,提升list操作效率。

如何执行Clean

  1. 写完数据后clean
    • Spark SQL(设置如下参数,随后执行任意写入SQL时,在满足条件时触发)
      hoodie.clean.automatic=true
      hoodie.cleaner.commits.retained=10 // 默认值为10,根据业务场景指定
    • SparkDataSource(option里设置如下参数,写数据时触发)

      hoodie.clean.automatic=true

      hoodie.cleaner.commits.retained=10 // 默认值为10,根据业务场景指定

    • Flink(with属性里设置如下参数,写数据时触发)

      clean.async.enabled=true

      clean.retain_commits=10 // 默认值为10,根据业务场景指定

  2. 手动触发1次clean
    • Spark SQL(set设置如下参数,手动触发1次)
    hoodie.clean.automatic=true
    hoodie.cleaner.commits.retained=10 // 默认值为10,根据业务场景指定

    随后执行SQL,当Timeline中有10个以上的Instant记录时,会触发clean

    run clean on ${table_name}

相关文档