S01002

错误代码

S01002

报错信息

Usage: addRangePartitions(dbHandle, newRanges, [level=0], [locations]). The new partition ranges specified in newRanges cannot overlap with the existing partition ranges. RefId: S01002

错误原因

使用 addRangePartitions 添加新分区时,newRanges 字段的范围可能与数据库中已有的分区范围重叠。

例如:

db=database(directory="dfs://db233", partitionType=RANGE, partitionScheme=0 50 100)
addRangePartitions(dbHandle=db, newRanges=50 100 150 200)

其中 50~100 的范围与旧的范围重叠。

解决办法

移除 newRanges 字段中和已有分区范围的重叠部分后重试。已有分区的范围可以通过 schema 函数查看:

schema(database("dfs://db233"))
// 返回的字段中包含已有的分区范围: partitionSchema->[0,50,100]
addRangePartitions(dbHandle=db, newRanges=100 150 200) //成功,返回2,代表成功添加两个范围分区