本文介绍通过LTS通道服务进行RDS全量导入。
注意事项
RDS全量导入功能于2023年3月10日下线。2023年3月10日后购买的LTS将无法使用RDS全量导入功能,2023年3月10日前购买的LTS仍可正常使用此功能。
前提条件
- LTS的购买时间在2023年3月10日之前。
- 已购买LTS数据迁移同步服务,配置LTS操作页面账户密码。
- 已连接LTS和HBase迁移集群、RDS实例的网络。
- 已添加HBase集群数据源或者Phoenix数据源。
- 已添加RDS数据源。
适用版本
- HBase
- 自建HBase1.x、2.x
- EMR HBase
- 标准版云HBase、增强版云HBase(集群版本)
- Mysql
- 自建Mysql
- RDS for Mysql
任务创建
- 购买并登录LTS。
- 进入LTS操作页面,在左侧导航栏中选择 。
- 单击创建迁移任务,设置RDS数据源和目标数据源(HBase、Phoenix),输入需要迁移的表Mapping信息。
- 单击创建同步通道。
- 查看任务进度。
- 迁移完成之后, 查看HBase表。
参数说明
- HBase表映射
{ "reader": { "querySql": [ // 根据querySql的数量进行任务拆分,分布式运行 "select id, title, content from rds.test where id < 8", "select id, title, content from rds.test where id >= 8" ] }, "writer": { "columns": [ { "name": "f1:col1", "value": "{{ concat(title, id) }}" // 将mysql中的数据title和id字段进行拼接,作为HBase f1:col1列的值 }, { "name": "f1:col2", "value": "content", "type": "string" // type 字段可选, 默认都按string类型类处理写入HBase }, { "name": "f1:*" // mysql 没有匹配到的列会走默认的匹配 } ], "rowkey": { "value": "{{ concat('idg', id) }}" }, "tableName": "default:t1" } }
- 支持简单的表达式,计算表达式为jtwig语法,如下:
{ "name": "cf1:hhh", "value": "{{ concat(title, id) }}" }
- 支持动态列,没有匹配到的列会走默认的匹配。
{ "name": "cf1:*", }
- 支持简单的表达式,计算表达式为jtwig语法,如下:
- Phoenix表映射
{ "reader": { "querySql": [ "select id, title, ts, datetime, date, time, b, f, d from rds.test where id < 8", "select id, title, ts, datetime, date, time, b, f, d from rds.test where id >= 8" ] }, "writer": { "columns": [ { "isPk": true, "name": "id" }, { "name": "title", "value": "title" // mysql中title字段对应Phoenix中的title, 如果字段名相同可不填 }, { "name": "ts" }, { "name": "datetime" }, { "name": "date" }, { "name": "time" }, { "name": "b" }, { "name": "f" }, { "name": "d" } ], "tableName": "dtstest" } }