物聯網平臺數據服務中的平臺系統表、產品屬性時序表、產品屬性快照表、產品事件表和自定義存儲表等數據,通過大數據開發治理平臺DataWorks集成到云原生大數據計算服務MaxCompute中構建數據倉庫,以提升數據應用效率。
背景信息
DataWorks的數據集成是穩定高效、彈性伸縮的數據同步平臺,致力于提供復雜網絡環境下、豐富的異構數據源之間高速穩定的數據移動及同步能力。詳細說明,請參見數據集成概述。
使用DataWorks中數據集成的IoT Reader插件可以讀取物聯網平臺企業版實例中數據,IoT Reader支持的數據類型、字段映射和數據源等參數與配置的詳細說明,請參見IoT數據源。
MaxCompute是適用于數據分析場景的企業級SaaS(Software as a Service)模式云數據倉庫,以Serverless架構提供快速、全托管的在線數據倉庫服務,消除了傳統數據平臺在資源擴展性和彈性方面的限制,最小化用戶運維投入,使您可以經濟并高效地分析處理海量數據。基于DataWorks實現一站式的數據同步、業務流程設計、數據開發、管理和運維功能。
使用限制
限制項 | 說明 |
地域 | 華東2(上海)、華南1(深圳)、華北2(北京)、美國(弗吉尼亞)。 |
物聯網平臺企業版實例 | 標準型、尊享型。實例類型說明,請參見企業版實例類型說明。 |
集成的物聯網平臺數據源 | 平臺系統表、產品屬性時序表、產品屬性快照表、產品事件表和自定義存儲表。 重要 如果需要將物聯網平臺的產品屬性時序表、產品屬性快照表和產品事件表的數據集成到MaxCompute,需先在物聯網平臺的數據服務中開啟該產品的備份。具體操作,請參見備份設備數據源。 |
獨享資源組 | DataWorks中數據集成的Reader插件僅支持獨享數據集成資源組。詳細說明,請參見獨享數據集成資源組。 |
讀取時序數據 | 支持指定數據的時間范圍。 |
數據過濾 | 不支持。 |
計費說明
物聯網平臺數據集成流出會消耗數據處理單元(CU)。詳細說明,請參見數據服務計費說明的數據集成。
使用流程
前提條件
如果集成產品屬性時序表、產品屬性快照表或產品事件表數據,需在物聯網平臺的數據服務中,開啟對應產品的設備數據源備份。具體操作,請參見備份設備數據源。
在DataWorks中配置數據集成的離線同步任務
通過向導模式配置離線同步任務
步驟一:新建離線同步節點:根據界面提示創建離線同步節點。
步驟二:配置同步網絡鏈接:選擇離線同步任務的數據來源、用于執行同步任務的我的資源組,以及數據去向,并測試連通性。
重要數據來源選擇IoT,我的資源組只支持獨享數據集成資源組,數據去向由您自定義。
步驟三:配置數據來源與去向:配置同步任務的數據來源和數據去向的詳情信息。數據去向可以配置為MaxCompute。
參數
說明
表
數據存儲表的表標識符。
導出日期數據(時序表)
日期格式為
yyyyMMdd
,例如20150101
,表示導出該日的數據。步驟四:配置字段映射關系:左側的源頭表字段和右側的目標表字段為一一對應的關系。
參數
說明
備注
同名映射
單擊同名映射,可以根據名稱建立相應的映射關系。
重要數據類型需保證一一對應匹配。
同行映射
單擊同行映射,可以在同行建立相應的映射關系。
取消映射
單擊取消映射,可以取消建立的映射關系。
您可以單擊添加一行可以增加單個字段,您也可以將鼠標移動至需要刪除的字段上,單擊刪除圖標刪除字段。
步驟五:配置通道:通過通道配置,控制數據同步過程相關屬性。
通過腳本模式配置離線同步任務
步驟一:新建離線同步節點:根據界面提示創建離線同步節點。
步驟二:配置同步網絡鏈接:選擇離線同步任務的數據來源、用于執行同步任務的我的資源組,以及數據去向,并測試連通性。
步驟四:編輯腳本,配置同步任務:編輯JSON腳本,指定IoT Reader以及對應Writer的參數。
以下為一個完整的示例腳本,示例中從IoT Reader數據源的產品時序存儲表中讀取數據,寫入到一張MaxCompute表中。
重要實際場景中,需根據代碼中注釋修改對應參數值,且在運行時,刪除代碼中的注釋。
{ "type": "job", "version": "2.0", "steps": [ { "stepType": "iot", // 請指定 "iot",表示IoT Reader數據源。 "parameter": { "accessId": "LT********", // 用于訪問物聯網企業實例的AccessKey ID。 "accessKey": "******", // 用于訪問物聯網企業實例的AccessKey Secret。 "regionId": "cn-shanghai", // 物聯網平臺企業版實例的地域ID。 "instanceId": "iot-*******", // 物聯網平臺企業版實例ID。 "column": [ // 讀取IoT數據存儲表的列信息。 "product_key", "device_name", "iot_id", "event_time", "event_date", "items" ], "table": "product.h******", // 數據存儲表的表標識符。 "date": "${bizdate}" // 日期格式為yyyyMMdd,例如“20151111”,表示導出該日的數據。 }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "partition": "ds=${bizdate}", "truncate": true, "indexes": [], "datasource": "odps_first", "envType": 0, "isSupportThreeModel": false, "column": [ "product_key", "device_name", "iot_id", "event_time", "event_date", "items" ], "emptyAsNull": false, "table": "ods_product_timeline_dd" }, "name": "Writer", "category": "writer" }, { "copies": 1, "parameter": { "nodes": [], "edges": [], "groups": [], "version": "2.0" }, "name": "Processor", "category": "processor" } ], "setting": { "errorLimit": { "record": "" }, "locale": "zh", "speed": { "throttle": false, "concurrent": 2 } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }