本章节介绍执行RDS增量导入的操作。
前提条件
版本
- 自建HBase1.x、2.x
- EMR HBase
- 标准版云HBase、增强版云HBase (单机版本、集群版本)
- 云HBase Phoenix
任务创建
- 登录BDS操作页面,任务管理->RDS实时数据订阅。
- 选择对应的DTS订阅通道和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的生成规则 是