本文主要介紹在HBase中如何進(jìn)行RDS增量導(dǎo)入。
注意事項(xiàng)
RDS增量導(dǎo)入功能于2023年3月10日下線。2023年3月10日后購買的LTS將無法使用RDS增量導(dǎo)入功能,2023年3月10日前購買的LTS仍可正常使用此功能。
前提條件
- LTS的購買時(shí)間在2023年3月10日之前。
- 已購買LTS數(shù)據(jù)遷移同步服務(wù),配置LTS操作頁面賬戶密碼。
- 已打通LTS和HBase遷移集群的網(wǎng)絡(luò)。
- 已添加HBase集群數(shù)據(jù)源。
- 開通DTS訂閱服務(wù), 添加DTS數(shù)據(jù)源。
適用版本
- 自建HBase1.x、2.x
- EMR HBase
- 標(biāo)準(zhǔn)版云HBase、增強(qiáng)版云HBase(單機(jī)版本、集群版本)
- 云HBase Phoenix
任務(wù)創(chuàng)建
- 登錄LTS操作頁面,在左側(cè)導(dǎo)航欄中選擇 。
- 單擊創(chuàng)建通道,設(shè)置RDS數(shù)據(jù)源和目標(biāo)數(shù)據(jù)源(HBase、Phoenix),輸入需要遷移的表Mapping信息。
- 單擊創(chuàng)建同步通道。
HBase表映射
{
"mapping": [
{
"columns": [
{
"name": "cf1:hhh",
"value": "{{ concat(title, id) }}"
},
{
"name": "cf1:title",
"value": "title"
},
{
"name": "cf1:*"
}
],
"config": {
"skipDelete": true
},
"rowkey": {
"value": "{{ concat('idg', id) }}"
},
"srcTableName": "hhh_test.test",
"targetTableName": "default:_test"
}
]
}
參數(shù) | 描述 | 必選 |
---|---|---|
mapping[y].srcTableName | RDS源表表名。 | 是 |
mapping[y].targetTableName | HBase目標(biāo)表名。 | 是 |
mapping[y].columns | RDS表和HBase表列的對應(yīng)。 | 是 |
mapping[y].columns[x].name | 對應(yīng)的HBase的列名。 | 是 |
mapping[y].columns[x].value | 對應(yīng)的HBase列的計(jì)算表達(dá)式,該計(jì)算表達(dá)式為Jtwig語法,當(dāng)用戶需要對源表的列進(jìn)行簡單計(jì)算得到rowkey時(shí)可以用。 | 是 |
mapping[y].config | 表的同步策略。 | 否 |
mapping[y].rowkey | Phoenix表的Rowkey的生成規(guī)則。 | 是 |
- 支持簡單的表達(dá)式,如下示例。
{ "name": "cf1:hhh", "value": "{{ concat(title, id) }}" }
- 支持動(dòng)態(tài)列,用戶可以在不預(yù)先定義列的情況下插入列。
{ "name": "cf1:*", }
- 支持指定訂閱的起始時(shí)間(DTS訂閱通道中包含指定時(shí)間戳以后的數(shù)據(jù))。
{ "config": { "startOffset":1569463200 // 秒 }, "mapping": [ "srcTableName": "hhh_test.test", "targetTableName": "default:test", "columns": [ { "name": "cf1:*" } ], "config": { "skipDelete": true }, "rowkey": { "value": "{{ concat('idg', id) }}" } } ] }
- DML支持的SQL操作如下表。
操作 支持 備注 INSERT 是 對應(yīng)HBase的PUT。 UPDATE 是 對應(yīng)HBase的PUT。 DELETE 是 用戶可以配置是否同步源端的DELETE,默認(rèn)不同步。
Phoenix表映射
{
"mapping": [
{
"srcTableName": "hhh_test.phoenix_test",
"targetTableName": "phoenix_test",
"config": {
"skipDelete": true
},
"columns": [
{
"name": "id",
"isPk": true
},
{
"name": "title",
"value": "title"
},
{
"name": "ts",
"value": "ts"
},
{
"name": "datetime",
"value": "datetime"
}
]
}
]
}
參數(shù) | 描述 | 必選 |
---|---|---|
mapping[y].srcTableName | RDS源表表名 | 是 |
mapping[y].targetTableName | Phoenix目標(biāo)表名 | 是 |
mapping[y].columns | RDS表和Phoenix表列的對應(yīng) | 是 |
mapping[y].columns[x].name | Phoenix的列名 | 是 |
mapping[y].columns[x].value | 對應(yīng)RDS列名 | 是 |
mapping[y].columns[x].isPk | 指定主鍵列 | 是 |
mapping[y].config | 表的同步策略 | 否 |
mapping[y].rowkey | HBase表的rowkey的生成規(guī)則 | 是 |