通過DataWorks控制台將Tablestore中的全量資料同步到OSS中。同步到OSS中的檔案可自由下載,也可作為Tablestore資料的備份存於OSS中。

步驟一:新增Tablestore資料來源

將Tablestore添加為資料來源,具體操作步驟如下:

  1. 進入Data Integration。
    1. 以專案系統管理員身份登入DataWorks控制台
      说明 僅專案系統管理員角色可以新增資料來源,其他角色的成員僅可查看資料來源。
    2. 在左側導覽列,單擊工作空間列表後,選擇地區。
    3. 工作空間列表頁面,單擊目標工作空間操作列的Data Integration
  2. 新增資料來源。
    1. 在Data Integration控制台,單擊資料來源
    2. 資料來源管理頁面,單擊新增資料來源
    3. 新增資料來源對話方塊的NoSQL地區,選擇資料來源類型為OTS
    4. 新增OTS資料來源對話方塊,配置參數。
      fig_otssource
      參數 說明
      資料來源名稱 資料來源的名稱。
      資料來源描述 資料來源的描述資訊。
      Endpoint 填寫目標Tablestore執行個體的服務地址
      • 如果Tablestore執行個體和OSS在同一個地區,填寫經典網地址。
      • 如果Tablestore執行個體和OSS不在同一個地區,填寫公網地址。
      • 不能填寫VPC地址。
      Tablestore執行個體名稱 Tablestore執行個體的名稱。
      AccessKey ID 登入賬戶的AccessKey ID和AccessKey Secret,擷取方式請參見建立AccessKey
      AccessKey Secret
    5. 單擊測試連通性,測試資料來源的連通狀態。
  3. 單擊完成
    資料來源管理頁面,會顯示該資料來源資訊。

步驟二:新增OSS資料來源

操作與步驟一類似,只需在半結構化儲存地區,選擇資料來源類型為OSS
说明 配置OSS資料來源的參數時,請注意Endpoint中不包括Bucket的名稱。
本樣本中,該資料來源名稱使用OTS2OSS,如下圖所示。fig_oss_001

步驟三:建立同步任務

建立並配置Tablestore到OSS的同步任務,具體操作步驟如下:

  1. 進入資料開發。
    1. 以專案系統管理員身份登入DataWorks控制台
    2. 在左側導覽列,單擊工作空間列表後,選擇地區。
    3. 工作空間列表頁面,單擊目標工作空間操作列的資料開發
  2. 在DataStudio控制台的資料開發頁面,單擊商務程序節點下的目標商務程序。

    如果需要建立商務程序,請參見步驟二:建立商務程序

  3. 建立同步任務節點。
    每個同步任務都需建立一個相應的節點。
    1. Data Integration節點上右鍵選擇建立 > 離線同步
      您也可以將滑鼠移至上方在fig_addnode表徵圖,選擇Data Integration > 離線同步來建立節點。
    2. 建立節點對話方塊,輸入節點名稱,選擇一個路徑。
      fig_newnode
    3. 單擊確認
  4. 配置資料來源。
    1. Data Integration節點下,雙擊同步任務節點。
    2. 在同步任務節點的編輯頁面的選擇資料來源地區,配置資料來源和資料去向。
      • 配置資料來源。

        選擇資料來源資料來源OTS

      • 配置資料去向。

        選擇資料去向資料來源OSS,並配置資料來源。

      fig_oss003
    3. 單擊script表徵圖或者點擊轉換為指令碼,進行指令碼配置。

      Tablestore僅支援指令碼模式配置,使用過程中涉及Tablestore(OTS) Reader和OSS Writer外掛程式的配置。具體操作,請參見配置Tablestore(OTS) Reader配置OSS Writer

      在指令碼配置頁面,請根據如下樣本完成配置。

      {
      "type": "job",    # 不能修改。
      "version": "1.0",  # 不能修改。
      "configuration": {
       "setting": {
         "errorLimit": {
           "record": "0"  # 當錯誤個數超過record個數時,匯入任務會失敗。
         },
         "speed": {
           "mbps": "1",  # 匯入速率,單位是MB/s。
           "concurrent": "1"  # 並發度。
         }
       },
       "reader": {
         "plugin": "ots",  # 不能修改。
         "parameter": {
           "datasource": "",   # Data Integration中的資料來源名稱,需要提前配置完成,此處可選擇配置Tablestore的資料來源或者填寫明文的AccessKeyID等鑒權資訊,建議使用資料來源。
           "table": "",    # Tablestore中的資料表名稱。
           "column": [   # 需要匯出到OSS的列名,不能設定為空白。
             {
               "name": "column1"    # Tablestore中列名,此列需要匯入到OSS。
             },
             {
               "name": "column2"   # Tablestore中列名,此列需要匯入到OSS。
             }
           ],
           "range": {
             "begin": [
               {
                 "type": "INF_MIN"   # Tablestore中第一列主鍵的起始位置。如果需要匯出全量,此處請配置為INF_MIN;如果只需匯出部分,則按需要配置。當資料表存在多個主鍵列時,此處begin中需要配置對應主鍵列資訊。
               }
             ],
             "end": [
               {
                 "type": "INF_MAX"   # Tablestore中第一列主鍵的結束位置。如果需要匯出全量,此處請配置為INF_MAX;如果只需匯出部分,則按需要配置。當資料表存在多個主鍵列時,此處end中需要配置對應主鍵列資訊。
               }
             ],
             "split": [  # 用於配置Tablestore的資料表的分區資訊,可以加速匯出,下一個版本會自動處理。
             ]
           }
         }
       },
       "writer": {
         "plugin": "oss",
         "parameter": {
           "datasource": "",  # 配置OSS的資料來源。
           "object": "",  # Object的首碼,無需包括Bucket名稱,例如tablestore/20171111/。如果是定時匯出,則此處需要使用變數,例如tablestore/${date},然後在配置調度參數時配置${date}的值。
           "writeMode": "truncate", # 當同名檔案存在時系統進行的操作,全量匯出時請使用truncate,可選值包括truncate、append和nonConflict,truncate表示會清理已存在的同名檔案,append表示會加到已存在的同名檔案內容後面,nonConflict表示當同名檔案存在時會報錯。
           "fileFormat": "csv", # 檔案類型,可選值包括csv、txt和parquet格式。
           "encoding": "UTF-8",  # 編碼類別型。
           "nullFormat": "null", # 定義null值的字串標識符方式,可以是Null 字元串。
           "dateFormat": "yyyy-MM-dd HH:mm:ss",  # 時間格式。
           "fieldDelimiter": "," # 每一列的分隔字元。
         }
       }
      }
      }
    4. 在同步任務節點的編輯頁面的右側單擊Data Integration資源群組配置,選擇獨享Data Integration資源群組。
      如果未建立獨享Data Integration資源群組,請單擊建立獨享Data Integration資源群組進行建立。
    5. 單擊save表徵圖,儲存資料來源配置。
    说明
    • 由於全量匯出一般是一次性的,所以無需配置自動調度參數。如果需要配置調度參數,請參見增量同步處理中的調度參數配置。
    • 如果在指令碼配置中存在變數,例如存在${date},則需要在運行同步任務時設定變數的具體值。
  5. 運行同步任務。
    1. 單擊start表徵圖。
    2. 參數對話方塊,選擇調度的資源群組。
    3. 單擊確定,開始運行任務。
      運行結束後,在作業記錄頁簽中可以查看任務是否成功和匯出的資料行數。

步驟四:查看匯出到OSS中的資料

  1. 登入OSS管理主控台
  2. 選擇相應Bucket和檔案名稱,下載後可查看內容是否符合預期。