文档

关于 SequoiaDB

快速入门

快速入门之一键清理

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

SequoiaDB Shell方法

概述

Global

Sdb

SecureSdb

SdbCS

SdbCollection

SdbCursor

SdbQuery

SdbReplicaGroup

SdbNode

SdbDomain

Oma

File

FileContent

Cmd

Remote

Hash

IniFile

Sdbtool

Ssh

System

辅助类型对象

特殊类型对象

操作符

SQL语法

SQL to SequoiaDB 映射表

限制

错误码

故障排除

SAC 管控中心

Web服务

版本信息

split()

语法

db.collectionspace.collection.split( <source group>, <target group>, <percent> )
db.collectionspace.collection.split( <source group>, <target group>, <condition>, [endcondition] )

在至少存在两个分区组的环境下,将数据记录按指定的条件切分到不同的分区组中,目标分区组必须属于集合空间所属的域。该操作为同步操作,直到数据切分完成才返回。

参数描述

范围切分

db.collectionspace.collection.split( <source group>, <target group>, <condition>, [endcondition] )

参数名 参数类型 描述 是否必填
source group string 源分区组。
target group string 目标分区组。
condition Json 对象 范围切分条件。
endcondition Json 对象 结束范围条件。 可选

Note:

  1. Range 分区使用精确条件,而 Hash 分区使用 Partition(分区数)条件。结束条件不选时默认为切分源当前包含的最大数据范围。
  2. 如果指定分区键字段为降序时,如:{groupingKey:{<字段1>:<-1>},condition(或 Partition)中的起始条件中的范围应该大于终止条件中的范围。Hash 分区使用的 Partition(分区数)必须为整型,不能为其他的类型。

百分比切分

db.collectionspace.collection.split( <source group>, <target group>, <percent> )

参数名 参数类型 描述 是否必填
source group string 源分区组。
target group string 目标分区组。
percent double 百分比切分条件,取值:(0, 100]

Note:

  1. Range分区需要保证源分区组中含有数据,即集合不为空;
  2. 百分比不能为0.

返回值

无返回值,出错抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过getLastError()获取错误信息码。

错误

错误码

示例

  • Hash 分区范围切分

    > db.foo.bar.split( "group1",  "group2", { Partition: 10 }, { Partition: 20 } )
  • Range 分区范围切分

    > db.foo.bar.split( "group1",  "group2", { a: 10 },  { a: 10000 } )
  • 百分比切分

    > db.foo.bar.split( "group1",  "group2",  50 ) 
回到顶部