名词解释
名词 |
解释 |
Project |
项目(Project)是DataHub数据的基本组织单元,下面包含多个Topic。值得注意的是,DataHub的项目空间与MaxCompute的项目空间是相互独立的。用户在MaxCompute中创建的项目不能复用于DataHub,需要独立创建。 |
Topic |
Topic是 DataHub 订阅和发布的最小单位,用户可以用Topic来表示一类或者一种流数据。 更多详情请参考:Project及Topic数量限制。 |
Topic Lifecycle |
表示一个Topic中写入数据在系统中可以保存的最长时间,以天为单位,最小值为1,最大值为7 |
Shard |
Shard表示对一个Topic进行数据传输的并发通道,每个Shard会有对应的ID。每个Shard会有多种状态 : Opening - 启动中,Active - 启动完成可服务。每个Shard启用以后会占用一定的服务端资源,建议按需申请Shard数量。 |
Shard Hash Key Range |
每个Shard都有的属性,包括开始和结束的Key范围,写入数据的时候具有相同Key的数据会落到同一个Shard上。对一个Shard的Key范围是左闭右开。更多详情请参考:根据HashKey写入数据。 |
Shard Merge |
Shard合并,可以把相邻的Key Range连接的Shard merge成一个Shard。更多详情请参考:Shard扩容缩容。 |
Shard Split |
Shard分裂,可以把一个Shard分裂成Shard Key Range相连接的两个Shard |
Record |
用户数据和 DataHub 端交互的基本单位 |
RecordType |
Topic的数据类型,目前支持Tuple与Blob两种类型。Tuple类型的Topic支持类似于数据库的记录的数据,每条记录包含多个列。Blob类型的Topic仅支持写入一块二进制数据。 |
数据类型介绍
- Tuple类型下只支持写入数据是有格式的数据,支持以下几种数据类型
类型 |
含义 |
值域 |
BIGINT |
8字节有符号整型 |
-9223372036854775807 ~ 9223372036854775807 |
DOUBLE |
8字节双精度浮点数 |
-1.0 _10^308 ~ 1.0 _10^308 |
BOOLEAN |
布尔类型 |
True/False或true/false或0/1 |
TIMESTAMP |
时间戳类型 |
表示到微秒的时间戳类型 |
STRING |
字符串,只支持UTF-8编码 |
单个STRING列最长允许2MB |
TINYINT |
单字节整型 |
-128 ~127 |
SMALLINT |
双字节整型 |
-32768 ~ 32767 |
INTEGER |
4字节整型 |
-2147483648 ~ 2147483647 |
FLOAT |
4字节单精度浮点数 |
-3.40292347_10^38 ~ 3.40292347_10^38 |
DECIMAL |
数字型 |
- 10^38 +1 ~ 10^38 - 1 |
DataHub 中的 TINYINT , SMALLINT , INTEGER , FLOAT 类型从 java sdk 2.16.1-public 开始支持。
- Blob模式下支持写入一块二进制数据作为一个Record,数据将会以BASE64编码传输。
Shard状态说明
状态 |
说明 |
Opening |
Topic刚创建,所有shard会处于Opening状态直至准备完成。不可读写。 |
Active |
Shard通道打开后,状态会置为Active,此时表示Shard正常可读写。 |
Closing |
Shard进行了Split/Merge操作,后台正在关闭该通道。该状态Shard不可读写。 |
Closed |
Shard在Split/Merge完成后,会变为Closed态,此时Shard为只读状态。 |
异常描述
ErrorCode |
HttpCode |
含义 |
InvalidUriSpec |
400 |
请求的Uri非法 |
InvalidParameter |
400 |
参数错误,详细内容请看返回的ErrorMessga |
Unauthorized |
401 |
签名错误 |
NoPermission |
403 |
账号权限不足 |
InvalidSchema |
400 |
Schema格式错误 |
InvalidCursor |
400 |
无效或过期的cursor |
NoSuchProject |
404 |
请求的Project不存在 |
NoSuchTopic |
404 |
请求的Topic不存在 |
NoSuchShard |
404 |
请求的ShardID不存在 |
ProjectAlreadyExist |
400 |
Project已存在 |
TopicAlreadyExist |
400 |
Topic已存在 |
InvalidShardOperation |
405 |
非法Shard操作,如Shard已经Closed后继续写入. |
LimitExceeded |
400 |
请求参数超出限制,如Shard总数超过512个. |
InternalServerError |
500 |
未知错误或内部服务异常或系统处于升级中. |