全部產品
Search
文件中心

Tablestore:Data Integration服務

更新時間:Aug 02, 2024

當您的現有業務對資料庫的並發讀寫、擴充性和可用性的要求較高,且需要使用複雜的檢索或巨量資料分析時,如果原有資料庫的資料架構不能滿足現在的業務需求或改造成本較大,則您可以通過DataWorksData Integration服務將現有資料庫中的資料移轉到Tablestore表中儲存和使用。您還可以通過DataWorksData Integration服務實現Table Store表中資料的跨執行個體或者跨帳號遷移以及將Table Store資料移轉到OSS或者MaxCompute中備份和使用。

應用情境

DataWorksData Integration是穩定高效、Auto Scaling的資料同步平台,適用於MySQL、Oracle、MaxCompute、Tablestore等多種異構資料來源之間的資料移轉同步。

Table Store支援通過DataWorksData Integration實現的資料移轉情境包括將資料庫資料移轉到Table Store、Table Store資料跨執行個體或者跨帳號遷移同步和將Table Store資料移轉到OSS或者MaxCompute。

將資料庫資料移轉到Table Store

DataWorks提供各種異構資料來源之間穩定高效的資料同步功能,可以實現將多種資料庫遷移到Table Store,如下圖所示。

說明

DataWorks支援的資料來源與讀寫外掛程式詳情請參見DataWorks支援的資料來源與讀寫外掛程式

image.png

Table Store資料跨執行個體或者跨帳號遷移同步

通過在DataWorks中配置Table Store相關的Reader和Writer外掛程式,即可以完成Table Store資料表或者時序表的資料複製,如下圖所示。Table Store相關的外掛程式說明請參見下表。

外掛程式

說明

OTSReader

用於讀取Table Store表中的資料,並可以通過指定抽取資料範圍實現資料增量抽取的需求。

OTSStreamReader

用於增量匯出Table Store表中的資料。

OTSWriter

用於向Table Store中寫入資料。

image.png

將Table Store資料移轉到OSS或者MaxCompute

Table Store資料支援遷移到OSS或者MaxCompute,請根據實際情境選擇。

遷移方案

請根據實際業務需求通過DataWorksData Integration實現Table Store與不同資料來源之間的資料移轉。

  • 資料匯入的遷移方案包括同步MySQL資料到Table Store、同步Oracle資料到Table Store、同步Kafka資料到Table Store、同步HBase資料到Table Store、同步MaxCompute資料到Table Store、同步Table Store資料表中資料到另一個資料表和同步Table Store時序表中資料到另一個時序表。

  • 資料匯出的遷移方案包括同步Table Store資料到MaxCompute和同步Table Store資料到OSS。

資料匯入

資料匯入相關的遷移方案說明請參見下表。

遷移方案

說明

同步MySQL資料到Table Store

MySQL資料庫中的資料只能遷移到Table Store的資料表中。

遷移過程中會使用到MySQL的Reader指令碼配置和Table Store的Writer指令碼配置,具體資料來源配置如下:

同步Oracle資料到Table Store

Oracle資料庫中的資料只能遷移到Table Store的資料表中。

遷移過程中會使用到Oracle的Reader指令碼配置和Table Store的Writer指令碼配置。具體資料來源配置如下:

同步Kafka資料到Table Store

Kafka中的資料支援遷移到Table Store的資料表或者時序表中。

重要
  • 通過DataWorksData Integration服務,只能遷移Kafka資料到Table Store的資料表中。如果需要遷移Kafka資料到Table Store的時序表中,請使用Tablestore Sink Connector實現。具體操作,請參見同步Kafka資料到Table Store時序表

  • 由於Table Store支援寬表模型和時序模型,遷移Kafka資料前請根據實際業務情境選擇合適的Table Store資料模型使用。更多資訊,請參見寬表模型時序模型

遷移過程中會使用到Kafka的Reader指令碼配置和Table Store的Writer指令碼配置。具體資料來源配置如下:

同步HBase資料到Table Store

HBase資料庫中資料只支援遷移到Table Store的資料表中。

遷移過程中會使用到HBase的Reader指令碼配置和Table Store的Writer指令碼配置。具體資料來源配置如下:

同步MaxCompute資料到Table Store

MaxCompute的資料只支援遷移到Table Store的資料表中。

遷移過程中會使用到MaxCompute的Reader指令碼配置和Table Store的Writer指令碼配置。具體資料來源配置如下:

同步PolarDB-X 2.0資料到Table Store

PolarDB-X 2.0的資料只支援遷移到Table Store的資料表中。

遷移過程中會使用到PolarDB-X 2.0的Reader指令碼配置和Table Store的Writer指令碼配置,具體資料來源配置如下:

同步Table Store資料表中資料到另一個資料表

Table Store資料表資料只支援遷移到Table Store另一個資料表中。

遷移過程中會使用到Table Store的Reader指令碼配置和Writer指令碼配置,具體資料來源配置請參見Tablestore資料來源。實際使用過程中請參考讀寫寬表資料的相關內容進行配置。

同步Table Store時序表中資料到另一個時序表

Table Store時序表資料只支援遷移到Table Store另一個時序表中。

遷移過程中會使用到Table Store的Reader指令碼配置和Writer指令碼配置,具體資料來源配置請參見Tablestore資料來源。實際使用過程中請參考讀寫時序資料的相關內容進行配置。

資料匯出

資料匯出相關的遷移方案說明請參見下表。

遷移方案

說明

同步Table Store資料到MaxCompute

您可以使用MaxCompute備份Table Store資料或者遷移Table Store資料到MaxCompute中使用。

遷移過程中會使用到Table Store的Reader指令碼配置和MaxCompute的Writer指令碼配置。具體資料來源配置如下:

同步Table Store資料到OSS

同步到OSS中的檔案可自由下載,也可作為Table Store資料的備份儲存於OSS。

遷移過程中會使用到Table Store的Reader指令碼配置和OSS的Writer指令碼配置。具體資料來源配置如下:

前提條件

確定遷移方案後,完成相應準備工作。

  • 已確保來源資料源和DataWorks之間以及目標資料來源和DataWorks之間的網路連通。

  • 已完成來源資料源的版本確認、帳號準備、許可權配置、產品特有配置等操作。更多資訊,請參見相應資料來源文檔中的配置要求。

  • 已完成目標資料來源的服務開通、所需資源建立等操作。更多資訊,請參見相應資料來源文檔中的配置要求。

注意事項

重要

如果使用過程中遇到任何問題,請提交工單聯絡我們。

  • 請確保DataWorksData Integration服務支援遷移相應產品版本的資料。

  • 目標資料來源的資料類型必須與來源資料源的資料類型相匹配,否則遷移過程中會產生髒資料。

  • 確定遷移方案後,請務必仔細閱讀相應資料來源文檔中的使用限制、注意事項等資訊。

  • 遷移Kafka資料前,請務必根據實際業務情境選擇合適的Table Store資料模型儲存資料。

配置流程

請根據遷移方案瞭解通過DataWorksData Integration實現資料移轉的配置流程。

具體步驟說明請參見下表。

序號

步驟

說明

1

新增來源資料源和目標資料來源

請根據遷移方案建立所需資料來源。

  • 如果要進行資料匯入操作,則目標資料來源為Table Store資料來源,來源資料源為其他資料來源(例如MySQL資料來源、MaxCompute資料來源)或者Table Store資料來源。

  • 如果要進行資料匯出操作,則來源資料源為Table Store資料來源,目標資料來源為MaxCompute資料來源或者OSS資料來源。

2

通過嚮導模式配置離線同步任務

DataWorksData Integration提供嚮導式的開發引導,通過可視化的填寫和下一步的引導,助您快速完成資料同步任務的配置工作。嚮導模式的學習成本低,但無法支援部分進階功能。

3

資料移轉結果驗證

請根據遷移方案在相應資料來源中查看匯入的資料。

  • 完成資料匯入操作後,請在Table Store控制台查看匯入的資料。

  • 完成資料匯出操作後,請在MaxCompute控制台或OSS控制台查看匯入的資料。

配置樣本

資料匯入

通過DataWorksData Integration,您可以匯入MySQL、Oracle、MaxCompute等資料到Table Store資料表中。此處以同步MaxCompute資料到Table Store資料表為例介紹資料移轉操作。

前提條件

請確保已完成以下準備工作後再進行後續操作。

  • 已確認和記錄MaxCompute中要同步到Table Store的表資訊。

  • 已建立RAM使用者並為RAM使用者授予管理Table Store許可權(AliyunOTSFullAccess)和管理DataWorks許可權(AliyunDataWorksFullAccess)。具體操作,請參見建立RAM使用者為RAM使用者授權

  • 已為RAM使用者建立AccessKey。具體操作,請參見建立AccessKey

  • 已開通DataWorks服務並建立工作空間。具體操作,請參見開通DataWorks服務建立工作空間

  • 已開通Table Store服務,建立Table Store執行個體以及建立資料表。具體操作,請參見開通Table Store服務建立執行個體建立資料表

    重要

    Table Store中資料表主鍵的名稱和類型必須與MaxCompute中要寫入主鍵的名稱和類型相匹配。Table Store中資料表屬性列不需要定義,屬性列的列名可在寫入資料時指定。

步驟一:新增Table Store資料來源和MaxCompute資料來源

此處以建立Table Store資料來源為例介紹資料來源的新增操作,請根據實際建立所需資料來源。

重要

當新增MaxCompute資料來源時,只需在新增資料來源對話方塊找到並單擊MaxCompute後進行相應配置即可。

  1. 進入Data Integration頁面。

    1. 以專案系統管理員身份登入DataWorks控制台

    2. 在左側導覽列,單擊工作空間列表後,選擇地區。

    3. 工作空間列表頁面,在目標工作空間操作列選擇快速進入>Data Integration

  2. 在左側導覽列,單擊資料來源

  3. 資料來源列表頁面,單擊新增資料來源

  4. 新增資料來源對話方塊,找到Tablestore區塊,單擊Tablestore

  5. 新增OTS資料來源對話方塊,根據下表配置資料來源參數。

    參數

    說明

    資料來源名稱

    資料來源名稱必須以字母、數字、底線(_)組合,且不能以數字和底線(_)開頭。

    資料來源描述

    對資料來源進行簡單描述,不得超過80個字元。

    Endpoint

    Tablestore執行個體的服務地址。更多資訊,請參見服務地址

    如果Tablestore執行個體和目標資料來源的資源在同一個地區,填寫VPC地址;如果Tablestore執行個體和目標資料來源的資源不在同一個地區,填寫公網地址。

    Table Store執行個體名稱

    Tablestore執行個體的名稱。更多資訊,請參見執行個體

    AccessKey ID

    阿里雲帳號或者RAM使用者的AccessKey ID和AccessKey Secret。擷取方式請參見建立AccessKey

    AccessKey Secret

  6. 測試資源群組連通性。

    建立資料來源時,您需要測試資源群組的連通性,以保證同步任務使用的資源群組能夠與資料來源連通,否則將無法正常執行資料同步任務。

    重要

    資料同步時,一個任務只能使用一種資源群組。資源群組列表預設顯示僅Data Integration公用資源群組。為確保資料同步的穩定性和效能要求,推薦使用獨享Data Integration資源群組。

    1. 單擊前往購買進行全新建立並綁定資源群組到工作空間或單擊綁定已購資源群組為工作空間綁定已有資源群組。具體操作,請參見新增和使用獨享Data Integration資源群組

    2. 待資源群組啟動成功後,單擊相應資源群組連通狀態(生產環境)列的測試連通性

      當連通狀態顯示為可連通時,表示連通成功。

  7. 測試連通性通過後,單擊完成

    在資料來源列表中,可以查看建立的資料來源。

步驟二:通過嚮導模式配置離線同步任務

  1. 新增同步任務節點。

    1. 進入資料開發頁面。

      1. 以專案系統管理員身份登入DataWorks控制台

        重要

        僅專案系統管理員角色可以新增資料來源,其他角色的成員僅可查看資料來源。

      2. 在左側導覽列,單擊工作空間列表後,選擇地區。

      3. 工作空間列表頁面,在目標工作空間操作列選擇快速進入>資料開發

    2. 在DataStudio控制台的資料開發頁面,單擊商務程序節點下的目標商務程序。

      如果需要建立商務程序,請參見建立商務程序

    3. Data Integration節點上右鍵選擇建立節點 > 離線同步

    4. 建立節點對話方塊,輸入名稱,然後單擊確認

      Data Integration節點下會顯示建立的離線同步節點。

  2. 配置網路與資源鏈路。

    選擇離線同步任務的資料來源、資料去向以及用於執行同步任務的資源群組,並測試連通性。

    1. Data Integration節點下,雙擊開啟建立的離線同步任務節點。

    2. 網路與資源配置步驟,選擇資料來源MaxCompute(ODPS),並選擇資料來源名稱為MaxCompute資料來源。

    3. 選擇資源群組。

      選擇資源群組後,系統會顯示資源群組的地區、規格等資訊以及自動化的測試資源群組與所選資料來源之間的連通性。

      重要

      請與新增資料來源時選擇的資源群組保持一致。

    4. 選擇資料去向OTS,並選擇資料來源名稱為Table Store資料來源。

      系統會自動化的測試資源群組與所選資料來源之間連通性。

    5. 測試資料來源可連通後,單擊下一步

  3. 配置資料來源與資料去向。

    1. 配置資料來源與去向地區,根據下表說明配置資料來源。

      參數

      說明

      Tunnel資源群組

      MaxCompute的資料轉送資源。預設值為公用傳輸資源,即MaxCompute的免費配額。

      MaxCompute中的表名稱。

      分區資訊

      讀取的資料所在的分區資訊。

    2. 配置資料來源與去向地區,根據下表說明配置資料去向。

      參數

      說明

      Tablestore中的資料表名稱。

      主鍵資訊

      Table Store資料表的主鍵資訊,以JSON格式的數組表示。資料表的主鍵由1~4個主鍵列組成,請根據實際主鍵列個數進行配置。

      重要

      主鍵資訊的主鍵列個數、順序以及類型必須與資料表中實際的主鍵配置資訊一致。

      配置樣本如下:

      [
       {
       "name": "pk",
       "type": "string"
       }
      ]

      寫入模式

      資料寫入Table Store的模式。取值範圍如下:

      • PutRow:對應於Tablestore API PutRow,插入資料到指定的行。如果該行不存在,則新增一行。如果該行存在,則覆蓋原有行。

      • UpdateRow:對應於Tablestore API UpdateRow,更新指定行的資料。如果該行不存在,則新增一行。如果該行存在,則根據請求的內容在這一行中新增、修改或者刪除指定列的值。

  4. 配置欄位對應關係。

    選擇資料來源和資料去向後,需要指定讀取端列和寫入端列的映射關係,配置欄位對應關係後,任務將根據欄位對應關係,將源端欄位寫入目標端對應類型的欄位中。系統預設按同行映射執列欄位映射。

    重要
    • 如需改變映射順序,您可以單擊來源欄位後的目標欄位後的image.png表徵圖進行編輯。其中來源欄位中的單個欄位直接填寫欄位名稱即可,目標欄位中的單個欄位要以JSON格式表示,例如{"name":"age","type":"INTEGER"}。一行表示一個欄位。

    • Table Store中資料表屬性列的資料類型必須與MaxCompute中要寫入欄位的資料類型相匹配。資料表屬性列的名稱可與MaxCompute中要寫入的欄位名稱不同,

    由於資料去向參數中預設會配置主鍵列資訊,因此您需要手動刪除目標欄位中的主鍵列資訊,否則任務執行失敗。

    1. 單擊目標欄位後的image.png表徵圖。

    2. 手動編輯表欄位對話方塊中,刪除目標欄位中的主鍵列資訊,並根據需要增加或修改屬性列資訊。

    3. 單擊確認

  5. 配置通道。

    通道控制地區,配置任務運行參數,例如同步速率、髒資料同步策略等。關於參數配置的更多資訊,請參見配置通道

  6. 單擊image.png表徵圖,儲存配置。

    說明

    執行後續操作時,如果未儲存配置,則系統會出現儲存確認的提示,單擊確認即可。

  7. 執行同步任務。

    重要

    全量資料一般只需要同步一次,無需配置調度屬性。

    1. 單擊1680170333627-a1e19a43-4e2a-4340-9564-f53f2fa6806e表徵圖。

    2. 參數對話方塊,選擇運行資源群組的名稱。

    3. 單擊運行

      運行結束後,在同步任務的作業記錄頁簽,單擊Detail log url對應的連結後。在任務的詳細作業記錄頁面,查看Current task status對應的狀態。

      Current task status的值為FINISH時,表示任務運行完成。

步驟三:查看匯入到Table Store中的資料

在Table Store控制台查看錶格儲存資料同步結果。

  1. 登入Table Store控制台

  2. 概覽頁面上方,選擇地區。

  3. 單擊執行個體名稱。

  4. 執行個體詳情頁簽下的資料表列表頁簽,單擊目標資料表名稱。

  5. 資料管理頁簽,即可查看同步到該資料表中的資料。

資料匯出

通過DataWorksData Integration,您可以將Table Store資料匯出到MaxCompute或OSS中。

  • 匯出Table Store全量資料到MaxCompute。具體操作,請參見匯出全量資料到MaxCompute

  • 同步Table Store資料到OSS。

    • 全量匯出

      匯出Table Store全量資料到OSS。具體操作,請參見全量匯出

    • 增量同步處理

      同步Table Store增量資料到OSS。具體操作,請參見增量同步處理

計費說明

  • 當匯入資料到Table Store時,Table Store會根據資料存放區量收取相應儲存費用。

  • 通過遷移工具訪問Table Store時,Table Store會根據具體的讀寫請求按照讀寫輸送量計量計費。同時根據執行個體類型不同,計費時需要區分按量讀寫CU以及預留讀寫CU。

    說明

    關於執行個體類型和CU的更多資訊,請分別參見執行個體讀寫輸送量

  • 使用DataWorks工具時,DataWorks會收取相關的功能費用和資源費用。更多資訊,請參見DataWorks購買指引

其他方案

您可以根據需要下載Table Store資料到本地檔案。具體操作,請參見將Table Store資料下載到本地檔案

您也可以通過通道服務等其他遷移工具完成資料匯入。

遷移工具

說明

遷移方案

DataX

DataX將不同資料來源的同步抽象為從源頭資料來源讀取資料的Reader外掛程式,以及向目標端寫入資料的Writer外掛程式。

同步Table Store資料表中資料到另一個資料表

通道服務

通道服務(Tunnel Service)是基於Table Store資料介面之上的全增量一體化服務。適用於源表為Table Store資料表的資料移轉同步。

通道服務提供了增量、全量、增量加全量三種類型的分布式資料即時消費通道。通過為資料表建立資料通道,可以簡單地實現對錶中歷史存量和新增資料的消費處理。

同步Table Store資料表中資料到另一個資料表

附錄:欄位類型映射

以下列出了常用產品與Table Store的欄位類型映射關係,實際使用時請按照相應欄位類型映射資訊進列欄位映射配置。

MaxCompute和Tablestore欄位類型映射

MaxCompute欄位類型

Tablestore欄位類型

STRING

STRING

BIGINT

INTEGER

DOUBLE

DOUBLE

BOOLEAN

BOOLEAN

BINARY

BINARY

MySQL和Tablestore欄位類型映射

MySQL欄位類型

Tablestore欄位類型

STRING

STRING

INT、INTEGER

INTEGER

DOUBLE、FLOAT、DECIMAL

DOUBLE

BOOL、BOOLEAN

BOOLEAN

BINARY

BINARY

Kafka和Tablestore欄位類型映射

Kafka Schema Type

Tablestore欄位類型

STRING

STRING

INT8、INT16、INT32、INT64

INTEGER

FLOAT32、FLOAT64

DOUBLE

BOOLEAN

BOOLEAN

BYTES

BINARY