Compaction
约束与限制
本章节仅适用于MRS 3.3.0-LTS及之后版本。
命令功能
对Hudi表进行compaction操作,具体作用可以参考Hudi Compaction操作说明章节。
命令格式
call run_compaction(op => '[op]', table=>'[table]', path=>'[path]', timestamp=>'[timestamp]');
参数描述
| 参数 | 描述 | 是否必填 |
|---|---|---|
| op | 指定Compaction操作类型,即生成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表。
系统响应
可在客户端中查看查询结果。