本文介绍如何进行RDS增量导入。
注意事项
RDS增量导入功能于2023年3月10日下线。2023年3月10日后购买的LTS将无法使用RDS增量导入功能,2023年3月10日前购买的LTS仍可正常使用此功能。
前提条件
- LTS的购买时间在2023年3月10日之前。
- 已购买LTS数据迁移同步服务,配置LTS操作页面账户密码。
- 已打通LTS和HBase迁移集群的网络。
- 已添加HBase集群数据源。
- 开通DTS订阅服务, 添加DTS数据源。
适用版本
- 自建HBase1.x、2.x
- EMR HBase
- 标准版云HBase、增强版云HBase(单机版本、集群版本)
- 云HBase Phoenix
任务创建
- 登录LTS操作页面,具体操作请参见登录LTS。
- 在左侧导航栏中选择 。
- 单击创建通道,设置RDS数据源和目标数据源(HBase、Phoenix),输入需要迁移的表Mapping信息。
- 单击创建同步通道。
参数说明
- 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" } ] }
参数 描述 必选 mapping[y].srcTableName RDS源表表名。 是 mapping[y].targetTableName HBase目标表名。 是 mapping[y].columns RDS表和HBase表列的对应。 是 mapping[y].columns[x].name 对应的HBase的列名。 是 mapping[y].columns[x].value 对应的HBase列的计算表达式,该计算表达式为jtwig语法,当用户需要对源表的列进行简单计算得到rowkey时可以用。 是 mapping[y].config 表的同步策略。 否 mapping[y].rowkey HBase表的rowkey的生成规则。 是 - 支持简单的表达式,如下
{ "name": "cf1:hhh", "value": "{{ concat(title, id) }}" }
- 支持动态列,没有匹配到的列会走默认的匹配。
{ "name": "cf1:*", }
- 支持指定订阅的起始时间(DTS订阅通道中包含指定时间戳以后的数据)。
{ "config": { "startOffset":1569463200 // 秒 }, "mapping": [ "srcTableName": "hhh_test.test", "targetTableName": "default:test", "columns": [ { "name": "cf1:*" } ], "config": { "skipDelete": true }, "rowkey": { "value": "{{ concat('idg', id) }}" } } ] }
- DML支持情况
操作 支持 备注 INSERT 是 对应HBase的PUT UPDATE 是 对应HBase的PUT DELETE 是 用户可以配置是否同步源端的DELETE,默认不同步
- 支持简单的表达式,如下
- 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" } ] } ] }
参数 描述 必选 mapping[y].srcTableName RDS源表表名 是 mapping[y].targetTableName Phoenix目标表名 是 mapping[y].columns RDS表和Phoenix表列的对应 是 mapping[y].columns[x].name Phoenix的列名 是 mapping[y].columns[x].value 对应RDS列名 是 mapping[y].columns[x].isPk 指定主键列 是 mapping[y].config 表的同步策略 否 mapping[y].rowkey HBase表的rowkey的生成规则 是