前提条件

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

版本

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

限制

实时数据归档基于HBase的日志,因此不能导出bulkload的数据。

提交归档任务

  1. 进入LTS操作页面,点击任务管理->HBase实时数据导出ODPS实时导出
  2. 点击创建同步任务, 进入任务创建页面,选择对应的HBase源集群和ODPS目标集群, 指定需要导出的HBase表。导出交互页面

    如图所示,对HBase表wal-test-301333235进行实时数据归档到ODPS,归档的列包括cf1:a、cf1:b、cf1:c、cf1:d四列。mergeInterval 表示的是归档的间隔(单位毫秒), 默认指定 86400000 (一天), mergeStartAt(格式为yyyyMMddHHmmss)表示从2019年9月30号0点整作为起始时间(可以指定一个过去的值)。

  3. 查看表归档进度。归档进度

    实时同步通道展示的是日志同步的延迟、点位,Table Merge 展现的是表Merge的任务,Merge完成即可在ODPS上查询最新分区的表。

  4. ODPS查询表数据。归档结果

参数说明

导出表格式如下:

hbaseTable/odpsTable {"cols": ["cf1:a|string", "cf1:b|int", "cf1:c|long", "cf1:d|short","cf1:e|decimal", "cf1:f|double","cf1:g|float","cf1:h|boolean","cf1:i"], "mergeInterval": 86400000, "mergeStartAt": "20191008100547"}
hbaseTable/odpsTable {"cols": ["cf1:a", "cf1:b", "cf1:c"],  "mergeStartAt": "20191008000000"}
hbaseTable {"mergeEnabled": false} // 不进行merge操作

导出表主要包括三个部分 {{hbaseTable}}/{{odpsTable}} {{tbConf}}hbaseTable 指定的是HBase表。

odpsTable可选,指定目标表名, 默认情况和HBase相同 (ODPS表名不支持包含”.-“等字符,统一转化成”_”)。

tbConf 指定表的归档行为,支持的参数如下

参数 说明 例子
cols 指定需要导出表的哪些列,以及列的类型, 默认转化为HexString “cols”: [“cf1:a”, “cf1:b”, “cf1:c”]
mergeEnabled 是否需要进行KV表转化成宽表, 默认为true “mergeEnabled”: false
mergeStartAt merge的起始时间,可以指定一个过去的时间,格式是yyyyMMddHHmmss “mergeStartAt”: “20191008000000”
mergeInterval merge的时间间隔,单位毫秒,默认是一天,即按天归档 “mergeInterval”: 86400000