名词解释

名词解释

名词 解释
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 未知错误或内部服务异常或系统处于升级中.