物聯網平臺數據服務提供離線數據存儲功能,支持自定義分區表、事務表和時序表。自定義存儲表可以作為數據服務中數據解析、SQL分析任務和數據可視化的數據源,可以作為數據解析、SQL分析任務的結果輸出表,可以集成時序表數據到實時計算Flink,也可以直接存儲靜態導入的自定義字段數據等。本文介紹如何創建和管理自定義存儲表,及其數據內容。
創建自定義存儲表
登錄物聯網平臺控制臺。
在實例概覽頁面,找到對應的企業版實例,單擊實例進入實例詳情頁面。
在左側導航欄,選擇數據服務 > 數據存儲。
在數據存儲頁面單擊離線存儲頁簽。
在離線存儲頁簽,單擊自定義存儲表。
在自定義存儲表頁簽,單擊新建自定義存儲表。
在新建自定義存儲表對話框中,完成以下設置。
參數
示例
是否必填
說明
表顯示名
溫度計日平均溫度存儲表
是
存儲表的名稱,不能以數字和下劃線(_)開頭,支持中文、英文字母、數字和下劃線(_),不超過30個字符。
表標識符
daily_average_temperature
是
存儲表的標識符,必須以英文字母開頭,支持英文字母、數字和下劃線(_),不超過30個字符。
表類型
分區表
是
可選:
分區表:適用于存儲定時調度的數據,可設置每小時或者每天一個分區,對應的任務重跑后,會覆蓋掉整個分區的數據。
重要如果您的自定義存儲表每次調度產生數據超過3000萬行時,為保障您的自定義存儲表查詢性能,建議選擇分區表。
事務表:適用于自定義主鍵,數據按照主鍵粒度通過行級別更新和覆蓋的表,類似于MySQL之類關系型數據庫中的表。
重要該表最多支持存儲3000萬行的數據,超過3000萬行的數據將無法寫入。
時序表:適用于存儲隨著時間不斷追加的數據,例如設備上報的數據,設備觸發的事件等。
分區粒度
天
否
表類型為分區表時,開啟自動分區,需配置分區粒度,可設置為小時或天。
重要此處設置需要和SQL分析洞察任務中調度周期一致。具體內容,請參見設置任務調度策略。
描述
溫度計的平均溫度
否
存儲表的用途。
數據存儲時長
更多
是
存儲表數據保存的時間長度。
超過所設置的數據,系統將根據表中的時間字段,刪除超過存儲時長的數據。
可設置為1個月、2個月、3個月、6個月、1年、不過期或更多。
如果選擇更多,則需輸入時間單位和時間值。
時間單位
年
否
數據存儲時長設置為更多時,數據存儲的時間單位。可選:年、月、日。
時間值
10
否
數據存儲時長設置為更多時,數據存儲的時間值,需為正整數。最大可設置為:
102(年)。
2142(月)。
64260(日)。
數據回流至IoT孿生引擎
否
選中數據回流至IoT孿生引擎復選框后,選擇關聯的目標孿生空間。
僅支持選擇當前實例下企業版或尊享版的IoT孿生引擎空間。
重要若僅有試用版IoT孿生引擎,該選項不可選(顯示灰色),您需購買企業版或旗艦版IoT孿生引擎。具體內容,請參見購買企業版或旗艦版。
選擇后,該表數據可作為IoT孿生空間中孿生實體的數據源。具體內容,請參見配置數據源。
新建表中強制包含以下列字段:
value:值為double類型。
iot_id:孿生實體中孿生節點的ID(iotId)。
property_id:孿生節點中屬性的標識符(identifier)。
數據表創建完成后:
不支持取消選中數據回流至IoT孿生引擎復選框及所關聯的孿生空間。
不支持在該表中新增字段。
單擊確認,完成創建自定義存儲表。
創建自定義存儲表后,您可以使用該表存儲數據解析的數據。
更多信息,請參見數據解析概述。
管理自定義存儲表
查看表信息
在自定義存儲表頁簽下的存儲列表中,可查看存儲表的基本信息:表顯示名、表類型、分區粒度、表標識符、存儲量和描述。
找到已創建的存儲表,單擊右側操作列的查看,可查看詳細基本信息。
系統數據源:數據來源為平臺系統表。
產品屬性數據源、產品事件數據源:數據來源為時序表或快照表。
項目 | 示例 | 說明 |
表標識符 | ${system.device_group_relation} | 存儲表的標識符。 |
表顯示名 | 設備分組關系表 | 存儲表的中文名稱。 |
字段數 | 8 | 存儲表表頭項目的數量。 |
數據來源 | 系統數據源 | 數據的來源,包括: |
存儲時長 | 不過期 | 存儲表數據不過期。 |
是否回流至IoT孿生引擎 | 是 | 存儲表數據回流至IoT孿生引擎中指定的孿生空間。 |
回流的孿生空間 | 園區孿生 | |
是否分區 | 是 | 開啟存儲表數據自動分區,分區粒度為天。 |
分區粒度 | 天 | |
描述 | 此表描述了設備和分組的關系 | 存儲表的用途。 |
Flink任務 | 時序表顯示該配置項,默認關閉。 支持開啟Flink任務,將時序表數據集成到阿里云實時計算Flink中計算和分析。具體操作,請參見下文管理時序表數據集成(Flink)。 |
定義表結構
單個存儲表中最多包含100個字段。
在自定義存儲表頁簽下的存儲列表中,找到已創建的存儲表,單擊右側操作列的查看。
在存儲表詳情頁面,單擊表結構頁簽。
表結構展示存儲表的分區詳情(是否分區、分區鍵名稱、分區鍵類型、分區鍵粒度)和表頭項目的詳細信息(字段名稱、字段類型、是否主鍵等)。
分區表:默認包含字段partition_key(系統分配的分區鍵,不可更改)和ts(系統分配的時間戳列,不可更改)。
事務表:默認包含字段ts(系統分配的時間戳列,不可更改)。
時序表:默認表結構為空。
單擊新增字段,配置表頭的字段,單擊應用。
字段參數說明如下。
重復上一步,為存儲表添加多個字段。
單擊保存,在彈出的對話框中,單擊確認。
參數 | 說明 |
字段名 | 支持小寫字母、數字和下劃線(_),不能以數字和下劃線(_)開頭,長度不能超過32個字符。 |
字段顯示名 | 支持中文字符、英文字母、數字和下劃線(_),不能以數字和下劃線(_)開頭,長度不能超過64個字符。 |
字段類型 | 支持選擇VARCHAR、BIGINT、BOOLEAN、TIMESTAMP、DOUBLE。 |
是否主鍵 | 設置字段是否為主鍵。 |
備注 | 描述字段用途。 |
可選操作
在自定義存儲表頁簽下的存儲列表中,找到已創建的存儲表,單擊右側操作列的功能按鈕。
功能 | 說明 |
編輯 | 修改自定義存儲表的基本信息。 重要 自定義存儲表被數據解析或SQL分析任務引用后,只能修改表的數據存儲時長,不能進行其他編輯操作。 |
刪除 | 刪除自定義存儲表。 |
開啟歸檔 | 開啟自動分區的存儲表數據,支持數據歸檔。具體操作,請參見管理離線數據歸檔。 |
數據預覽或 | 自定義存儲表應用于數據解析或SQL分析任務后,您可以預覽最新的20條數據。 |
跳轉到數據接入的本地上傳頁簽,導入本地數據源。具體操作,請參見上傳本地數據源。 說明 如果導入數據到自定存儲表的時序表,必須包含時間戳字段ts的值。 | |
您可導出指定時間范圍內的數據。操作指導,請參見導出存儲表。 重要
| |
通過復制當前自定義存儲表,快速構建新表。 重要 新表的表類型與當前自定義存儲表相同且不能更改,其他配置可重新自定義。 新表會同步復制當前自定義存儲表的表結構,需要執行保存操作,完成新表初始化。 | |
|
管理時序表數據集成(Flink)
自定義存儲表中僅時序表數據支持開啟Flink任務。
開啟Flink任務
如果需要將自定義存儲表存儲的時序數據,集成到實時計算Flink中計算和分析,幫助您實時分析和診斷設備的運行狀況,實時檢測運行故障,實時預測設備制品良率等,可以開啟時序表的Flink任務。
數據服務中實時數據集成流出會消耗數據處理單元(CU),詳細說明,請參見企業版實例(包年包月)。功能使用的詳細說明,請參見實時數據集成(Flink版)。
在自定義存儲表頁簽下的存儲列表中,找到已創建的時序表,單擊右側操作列的查看。
在存儲表詳情頁面,單擊Flink任務開關的關閉圖標。
在彈出的對話框中,單擊確認開啟。
關閉Flink任務
如果業務需求無需使用實時計算Flink進行數據流計算和分析,可執行以下操作關閉Flink任務。
在存儲表詳情頁面,單擊Flink任務開關的打開圖標。
單擊確認關閉。
后續步驟
創建自定義存儲表后,默認表中無數據,可將其作為一個數據解析或SQL分析任務的輸出對象,以存儲所需數據。具體內容,請參見數據解析和SQL分析。
自定義存儲表輸出數據后:
可作為多個SQL分析任務的查詢對象。具體內容,請參見SQL分析。
可作為IoT孿生引擎中孿生實體圖的數據源。具體內容,請參見IoT孿生引擎的數據源。
可以集成到實時計算Flink中計算和分析。具體內容,請參見實時數據集成(Flink版)。