
# COMPACTION
#### 命令功能
压缩( compaction)用于在 MergeOnRead表将基于行的log日志文件转化为parquet列式数据文件，用于加快记录的查找。
#### 命令格式
**SCHEDULE COMPACTION** on *tableIdentifier*\|tablelocation;
**SHOW COMPACTION** on *tableIdentifier*\|tablelocation;
**RUN COMPACTION** on*tableIdentifier*\|tablelocation \[at instant-time\];
#### 参数描述
表1COMPACTION参数 
| 参数              | 描述                                  |
|:---|:---|
| tableIdentifier | 在其中执行删除操作的Hudi表的名称。                 |
| tablelocation   | Hudi表的存储路径                          |
| instant-time    | 执行show compaction命令可以看到instant-time |
   
#### 示例
```
schedule compaction  on h1;
show compaction on h1;
run compaction on h1 at 20210915170758;
schedule compaction  on 'obs://bucket/path/h1';
run compaction on 'obs://bucket/path/h1';
```
#### 注意事项
- 使用API方式对SQL创建的Hudi表触发Compaction时需要添加参数**hoodie.payload.ordering.field** 为**preCombineField**的值。
- 使用由DLI提供的元数据服务时，本命令不支持使用OBS路径。
 
#### 系统响应
可以检查任务状态是否成功，查看任务结果，查看任务日志确认有无异常。
