DataWorks巨量資料開發治理平台提供Data Integration功能,支援將Table Store(Tablestore)的全量資料匯出至MaxCompute進行離線分析和處理。
前提條件
開始資料匯出前,需完成以下準備工作:
擷取Tablestore源表的執行個體名稱、執行個體訪問地址、地區ID等資訊。
建立MaxCompute專案作為資料存放區目標。
為阿里雲帳號或RAM使用者建立AccessKey,確保具備Tablestore與MaxCompute服務的存取權限。
開通DataWorks服務,並在MaxCompute執行個體或Tablestore執行個體所在地區建立工作空間。
建立Serverless資源群組並綁定到工作空間。有關計費資訊,請參見Serverless資源群組計費。
當DataWorks和Tablestore執行個體位於不同地區時,需要建立VPC對等串連實現跨地區網路連通。
操作步驟
通過以下步驟完成從Tablestore到MaxCompute的全量資料匯出配置。
步驟一:新增Tablestore資料來源
在DataWorks中配置Tablestore資料來源,建立與來源資料表的串連。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入Data Integration。
在左側導覽列,單擊資料來源。
在資料來源列表頁面,單擊新增資料來源。
在新增資料來源對話方塊,搜尋並選擇資料來源類型為Tablestore。
在新增OTS資料來源對話方塊,根據下表配置資料來源參數。
參數
說明
資料來源名稱
資料來源名稱必須以字母、數字、底線(_)組合,且不能以數字和底線(_)開頭。
資料來源描述
對資料來源進行簡單描述,不得超過80個字元。
地區
選擇Tablestore執行個體所屬地區。
Table Store執行個體名稱
Tablestore執行個體的名稱。
Endpoint
Tablestore執行個體的服務地址,推薦使用VPC地址。
AccessKey ID
阿里雲帳號或者RAM使用者的AccessKey ID和AccessKey Secret。
AccessKey Secret
測試資源群組連通性。
建立資料來源時,需要測試資源群組的連通性,確保同步任務使用的資源群組能夠與資料來源正常連通,否則將無法正常執行資料同步任務。
在串連配置地區,單擊相應資源群組連通狀態列的測試連通性。
測試連通性通過後,連通狀態顯示可連通,單擊完成。可在資料來源列表中查看建立的資料來源。
如果測試連通性結果為無法通過,可使用連通性診斷工具自助解決。
步驟二:新增MaxCompute資料來源
配置MaxCompute資料來源作為資料匯出的目標儲存。
再次單擊新增資料來源,選擇資料來源類型為MaxCompute,並配置相關的資料來源參數。
參數
說明
資料來源名稱
資料來源名稱必須以字母、數字、底線(_)組合,且不能以數字和底線(_)開頭。
資料來源描述
對資料來源進行簡單描述,不得超過80個字元。
認證方式
預設為阿里雲帳號及阿里雲RAM角色,不支援修改。
所屬雲帳號
當前阿里雲主帳號:需選擇當前帳號指定地區下的MaxCompute專案名稱和預設訪問身份。
其他阿里雲主帳號:需輸入其他帳號指定地區下的對方阿里雲主帳號UID、對方MaxCompute專案和對方RAM角色。
地區
MaxCompute專案所在地區。
Endpoint
預設為自動適配,也可根據需要自訂配置。
完成參數配置和連通性測試後,單擊完成添加資料來源。
步驟三:配置離線同步任務
建立資料同步任務,定義從Tablestore到MaxCompute的資料轉送規則和映射關係。
建立任務節點
進入資料開發頁面。
登入DataWorks控制台。
在頁面上方,選擇資源群組和地區。
在左側導覽列,單擊。
選擇對應工作空間後單擊進入Data Studio。
在Data Studio控制台的資料開發頁面,單擊專案目錄右側的
表徵圖,然後選擇。在建立節點對話方塊,選擇路徑,資料來源選擇Tablestore,資料去向選擇MaxCompute(ODPS),填寫名稱,然後單擊確認。
配置同步任務
在專案目錄下,單擊開啟建立的離線同步任務節點,通過嚮導模式或指令碼模式配置同步任務。
嚮導模式(預設)
在嚮導模式下配置以下內容:
資料來源:選擇來來源資料源和去向資料來源。
運行資源:選擇資源群組,選擇後會自動檢測資料來源連通性。
資料來源:
表:下拉選擇來來源資料表。
主鍵區間分布(起始):資料讀取的起始主鍵,格式為JSON數組,
inf_min表示無限小。當主鍵包含1個
int類型的主鍵列id和1個string類型的主鍵列name時,樣本配置如下:指定主鍵範圍
全量資料
[ { "type": "int", "value": "000" }, { "type": "string", "value": "aaa" } ][ { "type": "inf_min" }, { "type": "inf_min" } ]主鍵區間分布(結束):資料讀取的結束主鍵,格式為JSON數組,
inf_max表示無限大。當主鍵包含1個
int類型的主鍵列id和1個string類型的主鍵列name時,樣本配置如下:指定主鍵範圍
全量資料
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ]切分配置資訊:自訂切分配置資訊,格式為JSON數組,普通情況下不建議配置(設定為
[])。當Tablestore資料存放區發生熱點,且使用Tablestore Reader自動切分的策略不能生效時,建議使用自訂的切分規則。切分指定的是在主鍵起始和結束區間內的切分點,僅配置切分鍵,無需指定全部的主鍵。
資料去向:配置以下內容,其它參數可保持預設,也可根據需求修改。
生產專案名:反顯去向資料來源關聯的MaxCompute專案名稱。
Tunnel資源群組:預設選擇公用傳輸資源,即MaxCompute的免費quota,可根據需要選擇獨享的Tunnel。
表:選擇目標表,可單擊一鍵產生目標表結構自動產生目標表。
分區:同步的資料儲存在指定日期的分區中,可以用於每日增量同步處理。
寫入模式:可選擇寫入前清理已有資料還是保留已有資料。
去向欄位對應:配置來來源資料表到目標表的欄位對應,系統會根據源表欄位提供預設映射關係,可根據需要修改。
配置完成後,單擊頁面上方的儲存。
指令碼模式
單擊頁面上方的指令碼模式,在切換後的頁面中編輯指令碼。
以下樣本指令碼中,來來源資料表主鍵包含1個int類型的主鍵列id和1個string類型的主鍵列name,屬性列包含1個int類型的欄位age。配置時請替換樣本指令碼內的資料來源datasource、表名稱table。
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ots",
"parameter": {
"datasource": "source_data",
"column": [
{
"name": "id",
"type": "INTEGER"
},
{
"name": "name",
"type": "STRING"
},
{
"name": "age",
"type": "INTEGER"
}
],
"range": {
"begin": [
{
"type": "inf_min"
},
{
"type": "inf_min"
}
],
"end": [
{
"type": "inf_max"
},
{
"type": "inf_max"
}
],
"split": []
},
"table": "source_table",
"newVersion": "true"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"partition": "pt=${bizdate}",
"truncate": true,
"datasource": "target_data",
"tunnelQuota": "default",
"column": [
"id",
"name",
"age"
],
"emptyAsNull": false,
"guid": null,
"table": "source_table",
"consistencyCommit": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 2,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}指令碼編輯完成後,單擊頁面上方的儲存。
運行同步任務
單擊頁面右側的調試配置,選擇啟動並執行資源群組,並添加啟動並執行指令碼參數。
bizdate:MaxCompute目標表的資料分區,如
20251120。
單擊頁面上方的運行,開始同步任務。
步驟四:查看同步結果
運行同步任務後,可通過日誌查看任務的執行狀態,並在DataWorks控制台查看同步結果檔案。
在頁面下方查看任務運行狀態和結果,出現以下資訊時表示同步任務運行成功。
2025-11-18 11:16:23 INFO Shell run successfully! 2025-11-18 11:16:23 INFO Current task status: FINISH 2025-11-18 11:16:23 INFO Cost time is: 77.208s查看目標表的同步結果。
前往DataWorks控制台,在左側功能表列單擊,然後單擊進入資料地圖,查看目標表和資料。
