更新时间:2026-06-29 GMT+08:00
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]');
参数描述
| 参数 | 描述 |
|---|---|
| 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来查看表属性。