名詞解釋
名詞 |
解釋 |
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 |
未知錯誤或內部服務異常或系統處于升級中. |