增量归档MaxCompute

本文主要介绍如何在HBase中进行增量归档MaxCompute。

注意事项

增量导出MaxCompute功能于2023年6月16日下线。2023年6月16日后购买的LTS将无法使用增量导出MaxCompute功能,2023年6月16日前购买的LTS仍可正常使用此功能。

前提条件

  • 已开通LTS。

  • 已添加HBase数据源。

  • 已添加MaxCompute数据源。

支持版本

  • 自建HBase1.x、2.x。

  • EMR HBase。

  • 标准版云HBase、增强版云HBase(集群版本)、Lindorm。

限制

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

日志生命周期

  • 开启归档后,如果不消费数据,默认日志会保留48小时,超时后订阅关系自动取消,保留的数据自动删除。

  • 如果没有停止同步任务直接释放LTS实例,同步任务会暂停,同时不会消费数据。

提交归档任务

  1. 进入LTS操作页面,在左侧导航栏选择Lindorm/HBase导出 > 增量数据导出MaxCompute1

  2. 单击创建任务, 进入创建页面,选择对应的HBase源集群和MaxCompute目标集群, 指定需要导出的HBase表。Great Job上图对HBase表wal-test进行实时数据归档到MaxCompute

    • 归档的列包括cf1:a、cf1:b、cf1:c、cf1:d四列。

    • mergeInterval 表示的是归档的间隔(单位毫秒), 默认指定 86400000 (一天)。

    • mergeStartAt(格式为yyyyMMddHHmmss)表示从2019年9月30号0点整作为起始时间(可以指定一个过去的值) 。

  3. 查看表归档进度。实时同步通道展示的是日志同步的延迟、点位,Table Merge展现的是表Merge的任务,Merge完成即可在MaxCompute上查询最新分区的表。步骤3

  4. 登录MaxCompute查询表数据。View Table data

参数说明

导出表格式如下:

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