全部产品
云市场

RDS实时数据同步HBase、Phoenix

更新时间:2019-10-14 12:31:06

前提条件

  1. 购买BDS数据迁移同步服务,配置BDS操作页面账户密码,并登陆BDS操作页面
  2. 打通BDS和HBase迁移集群的网络
  3. 添加HBase集群数据源

版本

  1. 自建HBase1.x、2.x
  2. EMR HBase
  3. 标准版云HBase、增强版云HBase (单机版本、集群版本)
  4. 云HBase Phoenix

任务创建

  1. 登陆BDS操作页面,任务管理->RDS实时数据订阅1
  2. 选择对应的DTS订阅通道和HBase(Phoenix)集群,指定需要同步表的mapping1

参数说明

HBase表映射

  1. {
  2. "mapping": [
  3. "srcTableName": "hhh_test.test",
  4. "targetTableName": "default:_test",
  5. "columns": [
  6. {
  7. "name": "cf1:hhh",
  8. "value": "{{ concat(title, id) }}"
  9. },
  10. {
  11. "name": "cf1:title",
  12. "value": "title"
  13. },
  14. {
  15. "name": "cf1:*"
  16. }
  17. ],
  18. "config": {
  19. "skipDelete": true
  20. },
  21. "rowkey": {
  22. "value": "{{ concat('idg', id) }}"
  23. }
  24. }
  25. ]
  26. }
参数 描述 必选
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的生成规则
  • 支持简单的表达式,如下
  1. {
  2. "name": "cf1:hhh",
  3. "value": "{{ concat(title, id) }}"
  4. }
  • 支持动态列,没有匹配到的列会走默认的匹配
  1. {
  2. "name": "cf1:*",
  3. }
  • 支持指定订阅的起始时间(DTS订阅通道中包含指定时间戳以后的数据)
  1. {
  2. "config": {
  3. "startOffset":1569463200 //
  4. },
  5. "mapping": [
  6. "srcTableName": "hhh_test.test",
  7. "targetTableName": "default:test",
  8. "columns": [
  9. {
  10. "name": "cf1:*"
  11. }
  12. ],
  13. "config": {
  14. "skipDelete": true
  15. },
  16. "rowkey": {
  17. "value": "{{ concat('idg', id) }}"
  18. }
  19. }
  20. ]
  21. }
  • DML支持情况
操作 支持 备注
INSERT 对应HBase的PUT
UPDATE 对应HBase的PUT
DELETE 用户可以配置是否同步源端的DELETE,默认不同步

Phoenix表映射

  1. {
  2. "mapping": [
  3. {
  4. "srcTableName": "hhh_test.phoenix_test",
  5. "targetTableName": "phoenix_test",
  6. "config": {
  7. "skipDelete": true
  8. },
  9. "columns": [
  10. {
  11. "name": "id",
  12. "isPk": true
  13. },
  14. {
  15. "name": "title",
  16. "value": "title"
  17. },
  18. {
  19. "name": "ts",
  20. "value": "ts"
  21. },
  22. {
  23. "name": "datetime",
  24. "value": "datetime"
  25. }
  26. ]
  27. }
  28. ]
  29. }
参数 描述 必选
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的生成规则