更新时间:2026-06-11 GMT+08:00
修改Bucket分桶数
约束与限制
本章节仅适用于MRS 3.6.0-LTS.1及之后版本。
命令功能
已有的bucket索引Hudi表因数据量变化较大的原因导致当前bucket桶数不合适且不能重新建表修改桶数时,可以用该命令修改指定分区的桶数。
命令格式
查看指定分区的桶数:
call show_bucket_num(table => '${tableName}', partition => '${partitionPath}') 修改指定分区的桶数:
call change_bucket_num(table => '${tableName}', partition => '${partitionPath}', bucketNum => '${newBucketNumber }') 参数描述
| 参数 | 描述 | 是否必填 |
|---|---|---|
| tableName | String类型,表名或者库名.表名 | 是 |
| partitionPath | String类型,分区路径 | 否 |
| newBucketNumber | int类型,新的桶号 | 是 |
- 分区路径为选填参数,不指定分区路径会修改整张表的桶数,新增分区也会以新桶数来写
- 指定分区则只会修改条件匹配的分区的桶数且该分区删除后即使重新创建相同分区,修改的桶数会失效,新增分区仍沿用表索引配置的桶数写入。
- 多级分区使用par1=xxx/par2=yyy/par3=xxx
- Hetu不支持修改桶数后的Hudi表根据主键进行的等值查询
示例
call show_bucket_num(table => 'hudi_table', partition => 'par=1')
call change_bucket_num(table => "hudi_table", partition => 'par=1', bucketNum => '3')