更新时间:2026-06-29 GMT+08:00
分享

Compaction

约束与限制

本章节仅适用于MRS 3.3.0-LTS及之后版本。

命令功能

对Hudi表进行compaction操作,具体作用可以参考Hudi Compaction操作说明章节。

命令格式

call run_compaction(op => '[op]', table=>'[table]', path=>'[path]', timestamp=>'[timestamp]');

参数描述

表1 参数描述

参数

描述

是否必填

op

定Compaction操作类型,即生成Compaction计划还是执行已有的Compaction计划。取值如下:

  • schedule:生成Compaction计划。适用于首次执行Compaction或需要生成新的Compaction调度计划的场景。
  • run:执行已生成的Compaction计划。适用于已有待执行的Compaction计划的场景。

table

指定目标Hudi表的表名,支持database.tablename格式。与path参数二选一,当通过表名可以定位到表时使用此参数。

path

指定目标Hudi表的存储路径。与table参数二选一,当通过表名无法定位到表(如表未注册到元数据中)时使用此参数。

timestamp

在op指定为“run”时,可以指定timestamp来执行该时间戳对应的compaction计划以及该时间戳之前未执行的compaction计划

示例

以下示例中,hudi_table1为待操作的Hudi表名,需替换为实际的表名;xxx需替换为实际的Compaction计划时间戳。

call run_compaction(table => 'hudi_table1', op => 'schedule');
call run_compaction(table => 'hudi_table1', op => 'run');
call run_compaction(table => 'hudi_table1', op => 'run', timestamp => 'xxx');
call run_compaction(path => '/user/hive/warehouse/hudi_table1', op => 'run', timestamp => 'xxx');

注意事项

compaction操作仅支持MOR表。

系统响应

可在客户端中查看查询结果。

相关文档