全部产品

增量归档MaxCompute

更新时间:2021-01-15 14:41:07

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

前提条件

  1. 已开通LTS

  2. 已添加HBase数据源

  3. 已添加ODPS数据源

支持版本

  • 自建HBase1.x、2.x。

  • EMR HBase

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

限制

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

提交归档任务

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

  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