推特 阿里云技术文档正文

RDS全量数据迁移HBase、Phoenix_BDS使用说明_HBase数据导入导出_云数据库 HBase 版

admin 阿里云技术文档 2020-02-11 210 0
阿里云服务器优惠

RDS全量数据迁移HBase、Phoenix

前提条件

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

版本

HBase

  • 自建HBase1.x、2.x
  • EMR HBase
  • 标准版云HBase、增强版云HBase(集群版本)

Mysql

  • 自建Mysql
  • RDS for Mysql

任务创建

  1. 进入BDS操作页面,点击HBase导入导出-> RDS全量数据迁移HBaseRDS全量数据迁移HBase、Phoenix_BDS使用说明_HBase数据导入导出_云数据库 HBase 版 阿里云技术文档 第1张
  2. 点击创建迁移任务,选择RDS数据源和HBase(Phoenix)集群,输入需要迁移的表Mapping信息RDS全量数据迁移HBase、Phoenix_BDS使用说明_HBase数据导入导出_云数据库 HBase 版 阿里云技术文档 第2张
  3. 查看任务进度RDS全量数据迁移HBase、Phoenix_BDS使用说明_HBase数据导入导出_云数据库 HBase 版 阿里云技术文档 第3张
  4. 迁移完成之后, 查看HBase表RDS全量数据迁移HBase、Phoenix_BDS使用说明_HBase数据导入导出_云数据库 HBase 版 阿里云技术文档 第4张

参数说明

HBase表映射

  1. {
  2. "reader": {
  3. "querySql": [ // 根据querySql的数量进行任务拆分,分布式运行
  4. "select id, title, content from rds.test where id < 8",
  5. "select id, title, content from rds.test where id >= 8"
  6. ]
  7. },
  8. "writer": {
  9. "columns": [
  10. {
  11. "name": "f1:col1",
  12. "value": "{{ concat(title, id) }}" // mysql中的数据titleid字段进行拼接,作为HBase f1:col1列的值
  13. },
  14. {
  15. "name": "f1:col2",
  16. "value": "content",
  17. "type": "string" // type 字段可选, 默认都按string类型类处理写入HBase
  18. },
  19. {
  20. "name": "f1:*" // mysql 没有匹配到的列会走默认的匹配
  21. }
  22. ],
  23. "rowkey": {
  24. "value": "{{ concat('idg', id) }}"
  25. },
  26. "tableName": "default:t1"
  27. }
  28. }
  • 支持简单的表达式,计算表达式为jtwig语法,如下
  1. {
  2. "name": "cf1:hhh",
  3. "value": "{{ concat(title, id) }}"
  4. }
  • 支持动态列,没有匹配到的列会走默认的匹配
  1. {
  2. "name": "cf1:*",
  3. }

Phoenix表映射

  1. {
  2. "reader": {
  3. "querySql": [
  4. "select id, title, ts, datetime, date, time, b, f, d from rds.test where id < 8",
  5. "select id, title, ts, datetime, date, time, b, f, d from rds.test where id >= 8"
  6. ]
  7. },
  8. "writer": {
  9. "columns": [
  10. {
  11. "isPk": true,
  12. "name": "id"
  13. },
  14. {
  15. "name": "title",
  16. "value": "title" // mysqltitle字段对应Phoenix中的title 如果字段名相同可不填
  17. },
  18. {
  19. "name": "ts"
  20. },
  21. {
  22. "name": "datetime"
  23. },
  24. {
  25. "name": "date"
  26. },
  27. {
  28. "name": "time"
  29. },
  30. {
  31. "name": "b"
  32. },
  33. {
  34. "name": "f"
  35. },
  36. {
  37. "name": "d"
  38. }
  39. ],
  40. "tableName": "dtstest"
  41. }
  42. }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

-----