本文主要介紹RDS全量同步和增量同步處理的操作過程。
注意事項
RDS全增量同步處理功能於2023年3月10日下線。2023年3月10日後購買的LTS將無法使用RDS全增量同步處理功能,2023年3月10日前購買的LTS仍可正常使用此功能。
使用情境
RDS低成本歷史庫。
RDS資料全量遷移至Lindorm。
前提條件
LTS的購買時間在2023年3月10日之前。
已登入LTS頁面。具體操作,請參見登入同步任務。
LTS、ApsaraDB for HBase遷移叢集、RDS執行個體的網路已連通(都在同一個VPC中可以跳過)。
功能列表
RDS資料全增量一體同步到Lindorm寬表模型(相容HBase訪問)。
RDS資料變換,請參見配置說明。
RDS多表同步。
使用限制
RDS全量同步支援資料來源MySQL。
RDS增量同步處理支援資料來源DTS。
支援目標資料來源LindormSQL,Lindorm寬表模型(相容HBase訪問)。
操作步驟
在LTS操作頁面中,單擊匯入Lindorm/HBase > RDS全增量同步處理。
單擊建立任務。
選擇RDS資料來源、DTS資料來源以及目標資料來源。
單擊編輯可以查看預設配置說明,也可以修改配置說明,請參見配置說明。
選擇要同步的表,單擊組建組態。
單擊建立。
配置說明
SQL表同步配置說明,具體文法請參見Jtwig文法說明。
{
"reader": {
"querySql": [
"select * from dts.cluster where id < 1000",//全量同步查詢語句,一個語句對應一個讀取線程
"select * from dts.cluster where id >= 1000"//建議進行拆分提高速度和減小重試代價
]
},
"writer": {
"columns": [
{
"name": "id", //目標表中欄位名稱
"value": "id",//原表中欄位名稱
"isPk": true , //是否是主鍵
"type": "BIGINT" //可以不填寫,預設同RDS表類型一致
},
{
"name": "cluster_id",
"value": "cluster_id",
"isPk": false
},
{
"name": "id_and_cluster",
"value": "{{concat(id, cluster_id)}}",//支援Jtwig網域名稱對資料進行變換
"isPk": true
},
],
"config": {
"skipDelete": true //跳過刪除操作
},
"table": {
"name": "dts.cluster", //Lindorm表名,中間使用半形句號(.)隔開
"parameter": {
"compression": "ZSTD"
}
},
"sourceTable": "dts.cluster"
}
}
HBase API訪問同步配置說明。
{
"reader": {
"querySql": [
"select * from dts.cluster where id < 1000",//全量同步查詢語句,一個語句對應一個讀取線程
"select * from dts.cluster where id >= 1000"//建議進行拆分提高速度和減小重試代價
]
},
"writer": {
"columns": [
{
"name": "f:id",//目標表中欄位名稱
"value": "id", //原表中欄位名稱
"isPk": false //不影響同步忽略
},
{
"name": "f:cluster_id",
"value": "cluster_id",
"isPk": false
},
{
"name": "f:id_and_cluster",
"value": "{{concat(id, cluster_id)}}",//支援Jtwig網域名稱對資料進行變換
}
],
"rowkey": {
"value": "id" //hbase模型中rowkey由RDS哪些欄位組成,支援Jtwig文法
},
"config": {
"skipDelete": true//跳過刪除操作
},
"table": {
"name": "dts:cluster",// Lindorm/HBase中表名
"parameter": {
"compression": "ZSTD",//Lindorm/HBase中,建立表壓縮演算法,推薦使用ZSTD
"split":["1", "5", "9", "b"] //指定splitkey,對建立表進行預分區
}
},
"sourceTable": "dts.cluster"
}
}