更新时间:2026-10-28 GMT+08:00
CheckHudiTable工具
功能说明
检查Hudi表是否存在异常,依次调用多个子工具对表进行检查并输出结果。
命令格式
spark-submit \
--master yarn \
--driver-memory 2G \
--num-executors 3 \
--executor-memory 4G \
--class com.huawei.mrs.hudi.tools.CheckHudiTable \
/opt/hudi-fix-tools-1.0.jar \
${库名.表名} [${分区}] 参数说明
| 参数 | 是否必选 | 参数说明 |
|---|---|---|
| ${库名.表名} | 是 | 需要检查的Hudi表名,格式为库名.表名 |
| ${分区} | 否 | 逗号分隔的分区路径列表,仅传递给CleanInvalidFiles检查项使用。不输入则CleanInvalidFiles检查所有分区 |
检查执行顺序
- FixHoodieMetaFile.check() — 元数据文件检查
- 如果FixHoodieMetaFile发现错误(hoodie.properties或hoodie.index.properties缺失),提前返回,不再执行后续检查
- CleanInvalidFiles.check() — 无效文件检查(使用分区参数)
- CleanDuplicativeSchema.check() — 重复schema检查
- FixHiveMetadata.check() — Hive元数据检查
- CheckWriteSchema.check() — 写入schema检查
输出结果说明
- 正常流程(所有检查均执行完毕),每项检查独立输出:
FixHoodieMetaFile RESULT: success FixHoodieMetaFile MESSAGE: No problems found. CleanInvalidFiles RESULT: success CleanInvalidFiles MESSAGE: ... ...
- 提前返回(FixHoodieMetaFile发现错误时),仅输出错误信息:
RESULT: success MESSAGE: ERROR: The hoodie.properties file does not exist.
各子工具的MESSAGE含义参见对应工具的说明。No problems found.表示对应工具未发现表异常,其他信息可以使用对应工具单独进行检查、修改。
使用样例
- 对表进行全量检查:
spark-submit --master yarn --driver-memory 2G --num-executors 3 --executor-memory 4G \ --class com.huawei.mrs.hudi.tools.CheckHudiTable \ /opt/hudi-fix-tools-1.0.jar \ mydb.mytable
- 指定分区检查(分区参数仅影响CleanInvalidFiles检查项):
spark-submit --master yarn --driver-memory 2G --num-executors 3 --executor-memory 4G \ --class com.huawei.mrs.hudi.tools.CheckHudiTable \ /opt/hudi-fix-tools-1.0.jar \ mydb.mytable "region=east/city=sh,region=east/city=bj"
父主题: Hudi修复工具使用指导