
# CHANGE_TABLE
#### 约束与限制
本章节仅适用于MRS 3.2.0-LTS及之后版本。
#### 命令功能
CHANGE_TABLE命令用于修改Hudi表的类型以及索引类型。由于Hudi表本身不支持直接修改表类型及索引等关键参数，该命令实际是将表数据按照新的配置重新写入，操作期间表数据会被重写一遍。此操作耗时与表数据量成正比，请在业务低峰期执行。
#### 命令格式
```
call change_table(table => '[table_name]', hoodie.index.type => '[index_type]', hoodie.datasource.write.table.type => '[table_type]');
```
#### 参数描述
表1参数描述 
| **参数**     | **描述**        |
|:---|:---|
| table_name | 需要修改的Hudi表名称。 |
| table_type | 需要修改的表类型。     |
| index_type | 需要修改的索引类型。    |
   
#### 注意事项
如修改的索引类型有其对应的其他配置参数，同样需要以key =\> 'value'格式传入sql中。
例如修改为bucket索引：
```
call change_table(table => 'hudi_table1', hoodie.index.type => 'BUCKET', hoodie.bucket.index.num.buckets => '3');
```
#### 示例
以下示例中，hudi_table1为待操作的Hudi表名，需替换为实际的表名。
```
call change_table(table => 'hudi_table1', hoodie.index.type => 'SIMPLE', hoodie.datasource.write.table.type => 'MERGE_ON_READ');
```
#### 系统响应
执行完成后可通过desc formatted table来查看表属性。
