全部产品
云市场

历史数据迁移

更新时间:2020-03-18 10:58:40

前提条件

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

版本

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

创建任务

  1. 进入BDS操作页面,点击任务管理->HBase历史数据迁移->创建HBase迁移任务1
  2. 选择源HBase集群和目标HBase集群,输入需要迁移的表1
  3. 查看迁移进度, 当所有的任务都完成之后1

参数说明

  1. hbaseTable/targetTable {"cols":["f1:a", "f1:b", "f1:c"]}
  2. hbaseTable/targetTable {"copyType": "api"}
  3. hbaseTable/targetTable {"startTs": "20190101000000", "endTs": "20200101000000", "startKey": "a", "endKey": "z"}
  4. hbaseTable

迁移Phoenix表

Phoenix表的meta信息是记录在SYSTEM.CATALOG这种表中的,对于Phoenix的表不仅需要迁移底层依赖的HBase表,还要迁移SYSTEM.CATALOG表中对应的元数据。因此这里有两种方式完成Phoenix表的迁移:

  1. // 除了迁移对应的表以外,将SYSTEM.CATALOG等Phoenix管理元数据的表也添加到表迁移的计划中
  2. SYSTEM.CATALOG
  3. PHOENIX_TABLE1
  4. PHOENIX_TABLE2

或者

  1. PHOENIX_TABLE1 {"SchemaType": "phoenix"} // BDS会自动获取SYSTEM.CATALOG中的元数据信息拷贝到目标集群的SYSTEM.CATALOG
  2. PHOENIX_TABLE2 {"SchemaType": "phoenix"}

指定导出的列

例如:hbaseTable/targetTable {"cols":["f1:a", "f1:b", "f1:c"]}

支持不同的迁移模式

历史数据迁移支持两种模式:文件拷贝模式和api模式默认情况是走文件拷贝的方式, 迁移过程不会和源HBase集群交互,只和HDFS进行交互api模式走的是HBase的API, 对于大表的迁移,会影响源集群的业务。适用于单机版HBase,或者不方便对BDS开放hdfs的集群迁移

指定迁移数据的范围

入参:table1 {"startKey": "xxx", "endKey": "zzz", "startTs": "20191001153000", "endTs": "20191001233000"}

迁移支持指定任意startKey、endKey、startTs、endTs参数,可以控制导出的时间范围和rowkey的区间

指定迁移到不同HBase表

支持HBase原表和目标表不同表名, 默认情况目标表和源表名相同例如: srcTable/targetTable