如果需要將MaxCompute計算分析后的數據同步到表格存儲中存儲或者使用,您可以通過在DataWorks數據集成控制臺新建和配置離線同步任務來實現全量數據導出。全量數據導出到表格存儲后,您可以使用表格存儲查詢與分析數據。
背景信息
表格存儲(Tablestore)面向海量結構化數據提供Serverless表存儲服務,同時針對物聯網場景深度優化提供一站式的IoTstore解決方案。適用于海量賬單、IM消息、物聯網、車聯網、風控、推薦等場景中的結構化數據存儲,提供海量數據低成本存儲、毫秒級的在線數據查詢和檢索以及靈活的數據分析能力。更多信息,請參見什么是表格存儲。
云原生大數據計算服務(MaxCompute)是一種快速、完全托管的TB/PB級數據倉庫解決方案。MaxCompute向用戶提供了完善的數據導入方案以及多種經典的分布式計算模型,能夠更快速的解決用戶海量數據計算問題,有效降低企業成本,并保障數據安全。更多信息,請參見什么是MaxCompute。
DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大數據引擎,為數據倉庫、數據湖、湖倉一體等解決方案提供統一的全鏈路大數據開發治理平臺。DataWorks數據集成是穩定高效、彈性伸縮的數據同步平臺,致力于提供復雜網絡環境下、豐富的異構數據源之間高速穩定的數據移動及同步能力。更多信息,請參見DataWorks數據集成。
您可以通過DataWorks數據集成功能將MaxCompute計算分析后的數據同步到表格存儲中,提升應用的讀寫和搜索效率。
前提條件
已確認和記錄MaxCompute中要同步到表格存儲的表信息。
已創建RAM用戶并為RAM用戶授予管理表格存儲權限(AliyunOTSFullAccess)和管理DataWorks權限(AliyunDataWorksFullAccess)。具體操作,請參見創建RAM用戶和為RAM用戶授權。
已為RAM用戶創建AccessKey。具體操作,請參見創建AccessKey。
步驟一:新增表格存儲數據源
將表格存儲添加為數據源,具體步驟如下:
進入數據集成頁面。
以項目管理員身份登錄DataWorks控制臺。
在左側導航欄,單擊工作空間列表后,選擇地域。
在工作空間列表頁面,在目標工作空間操作列選擇快速進入>數據集成。
在左側導航欄,單擊數據源。
在數據源頁面,單擊新增數據源。
在新增數據源對話框,找到Tablestore區塊,單擊Tablestore。
在新增OTS數據源對話框,根據下表配置數據源參數。
參數
說明
數據源名稱
數據源名稱必須以字母、數字、下劃線(_)組合,且不能以數字和下劃線(_)開頭。
數據源描述
對數據源進行簡單描述,不得超過80個字符。
Endpoint
Tablestore實例的服務地址。更多信息,請參見服務地址。
如果Tablestore實例和目標數據源的資源在同一個地域,填寫VPC地址;如果Tablestore實例和目標數據源的資源不在同一個地域,填寫公網地址。
Table Store實例名稱
Tablestore實例的名稱。更多信息,請參見實例。
AccessKey ID
阿里云賬號或者RAM用戶的AccessKey ID和AccessKey Secret。獲取方式請參見創建AccessKey。
AccessKey Secret
測試資源組連通性。
創建數據源時,您需要測試資源組的連通性,以保證同步任務使用的資源組能夠與數據源連通,否則將無法正常執行數據同步任務。
重要數據同步時,一個任務只能使用一種資源組。資源組列表默認僅顯示獨享數據集成資源組,為確保數據同步的穩定性和性能要求,推薦使用獨享數據集成資源組。
如果未創建資源組,請單擊新建獨享數據集成資源組進行創建。具體操作,請參見新增和使用獨享數據集成資源組。
單擊相應資源組操作列的測試連通性,當連通狀態為可連通時,表示連通成功。
測試連通性通過后,單擊完成。
在數據源列表中,可以查看新建的數據源。
步驟二:新增MaxCompute數據源
當要使用當前工作空間默認生成的odps_first數據源時,請跳過此步驟。
具體操作與步驟一類似,只需在新增數據源對話框,找到MaxCompute區塊,單擊MaxCompute。
數據同步時,一個任務只能使用一種資源組。資源組列表默認僅顯示獨享數據集成資源組,為確保數據同步的穩定性和性能要求,推薦使用獨享數據集成資源組。
如果未創建資源組,請單擊新建獨享數據集成資源組進行創建。具體操作,請參見新增和使用獨享數據集成資源組。
步驟三:新建同步任務節點
進入數據開發頁面。
以項目管理員身份登錄DataWorks控制臺。
選擇地域,在左側導航欄,單擊工作空間列表。
在工作空間列表頁面,在目標工作空間操作列選擇快速進入>數據開發。
在DataStudio控制臺的數據開發頁面,單擊業務流程節點下的目標業務流程。
如果需要新建業務流程,請參見創建業務流程。
在數據集成節點上右鍵選擇新建節點 > 離線同步。
在新建節點對話框,選擇路徑并填寫節點名稱。
單擊確認。
在數據集成節點下會顯示新建的離線同步節點。
步驟四:配置離線同步任務并啟動
新建并配置MaxCompute到表格存儲的同步任務,具體步驟如下:
在數據集成節點下,雙擊打開新建的離線同步任務節點。
配置同步網絡鏈接。
選擇離線同步任務的數據來源、數據去向以及用于執行同步任務的資源組,并測試連通性。
重要數據同步任務的執行必須經過資源組來實現,請選擇資源組并保證資源組與讀寫兩端的數據源能聯通訪問。
在網絡與資源配置步驟,選擇數據來源為MaxCompute(ODPS),并選擇數據源名稱為MaxCompute數據源。
選擇資源組。
選擇資源組后,系統會顯示資源組的地域、規格等信息以及自動測試資源組與所選數據源之間連通性。
重要請與新增數據源時選擇的資源組保持一致。
選擇數據去向為Tablestore,并選擇數據源名稱為表格存儲數據源。
系統會自動測試資源組與所選數據源之間連通性。
測試可連通后,單擊下一步。
在提示對話框,單擊確認使用腳本模式。
重要表格存儲僅支持腳本模式。當存在不支持向導模式的數據源時,如果繼續編輯任務,將強制使用腳本模式進行編輯。
任務轉為腳本模式后,將無法轉為向導模式。
配置任務并保存。
全量數據的同步需要使用到MaxCompute Reader和Tablestore(OTS) Writer插件。腳本配置規則請參見MaxCompute數據源和Tablestore數據源。
在腳本配置頁面,請根據如下示例完成配置。
重要由于全量導出一般是一次性的,所以無需配置自動調度參數。
為了便于理解,在配置示例中增加了注釋內容,實際使用腳本時請刪除所有注釋內容。
{ "type": "job", "version": "2.0", "steps": [ { "stepType": "odps", #插件名稱,不能修改。 "parameter": { "partition": [], #如果表為分區表,則必填。如果表為非分區表,則不能填寫。需要寫入數據表的分區信息,必須指定到最后一級分區。 "datasource": "", #MaxCompute數據源名稱,請根據實際填寫。 "column": [ #需要導出的MaxCompute列名。 "*" ], "table": "" #MaxCompute中的表名。 }, "name": "Reader", "category": "reader" }, { "stepType": "ots", #插件名稱,不能修改。 "parameter": { "datasource": "", #表格存儲數據源名稱,請根據實際填寫。 "column": [ #作為數據表屬性列的列。 { "name": "columnName1", "type": "INT" }, { "name": "columnName2", "type": "STRING" }, { "name": "columnName3", "type": "DOUBLE" }, { "name": "columnName4", "type": "BOOLEAN" }, { "name": "columnName5", "type": "BINARY" } ], "writeMode": "UpdateRow", #數據寫入表格存儲的模式。取值范圍為PutRow和UpdateRow。選擇PutRow時表示覆蓋寫入數據,如果該行不存在,則新增一行;如果該行存在,則覆蓋原有行。選擇UpdateRow時表示更新寫入數據,如果該行不存在,則新增一行;如果該行存在,則根據請求的內容在這一行中新增、修改或者刪除指定列的值。 "table": "", #Tablestore中的數據表名稱。 "primaryKey": [ #作為數據表主鍵的列。 { "name": "pk1", "type": "STRING" }, { "name": "pk2", "type": "INT" } ] }, "name": "Writer", "category": "writer" }, { "name": "Processor", "stepType": null, "category": "processor", "parameter": {} } ], "setting": { "executeMode": null, "errorLimit": { "record": "0" #當錯誤個數超過record個數時,導入任務會失敗。 }, "speed": { "throttle":true, #當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。 "concurrent":1 #作業并發數。 "mbps":"12" #限流。 } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }
單擊圖標,保存腳本。
說明執行后續操作時,如果未保存腳本,則系統會出現保存確認的提示,單擊確認即可。
執行同步任務。
說明全量數據一般只需要同步一次,無需配置調度屬性。
單擊圖標。
在參數對話框,選擇運行資源組的名稱。
單擊運行。
運行結束后,在同步任務的運行日志頁簽,單擊Detail log url對應的鏈接后。在任務的詳細運行日志頁面,查看
Current task status
對應的狀態。當
Current task status
的值為FINISH時,表示任務運行完成。
步驟五:查看導入到表格存儲中的數據
在表格存儲控制臺查看表格存儲數據同步結果。
登錄表格存儲控制臺。
在概覽頁面上方,選擇地域。
單擊實例名稱。
在實例詳情頁簽下的數據表列表頁簽,單擊目標數據表名稱。
在數據管理頁簽,即可查看同步到該數據表中的數據。