更新时间:2022-07-12 GMT+08:00

Hbase结果表

功能描述

DLI将作业的输出数据输出到HBase中。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。HBase支持消息数据、报表数据、推荐类数据、风控类数据、日志数据、订单数据等结构化、半结构化的KeyValue数据存储。 利用DLI,用户可方便地将海量数据高速、低时延写入HBase。

前提条件

该场景作业需要运行在DLI的独享队列上,因此要与HBase建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。

  • 若使用MRS HBase,请在增强型跨源的主机信息中添加MRS集群所有节点的主机ip信息。

    详细操作请参考《数据湖探索用户指南》中的“修改主机信息”章节描述。

  • 如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。
  • 如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。

语法格式

create table hbaseSink (
  attr_name attr_type 
  (',' attr_name attr_type)* 
)
with (
  'connector.type' = 'hbase',
  'connector.version' = '1.4.3',
  'connector.table-name' = '',
  'connector.zookeeper.quorum' = ''
);

参数说明

表1 参数说明

参数

是否必选

说明

connector.type

connector的类型,只能为hbase

connector.version

该值只能为1.4.3

connector.table-name

hbase中的表名

connector.zookeeper.quorum

Zookeeper的地址

connector.zookeeper.znode.parent

Zookeeper中的根目录,默认是/hbase

connector.write.buffer-flush.max-size

每次插入的数据的最大的缓存大小,默认为2mb ,仅支持mb

connector.write.buffer-flush.max-rows

每次刷新数据的最大条数

connector.write.buffer-flush.interval

刷新时间,默认值为0s,如2s

connector.rowkey

设置复合rowkey,即根据多个字段设置。

形如:rowkey1:3,rowkey2:3,…

其中3表示取该字段的前3个byte,该值不能大于该字段的字节大小,且该值不能小于1

示例

 create table hbaseSink(
  rowkey string,
  name string,
  i Row<geneder string, age int>,
  j Row<address string>
 ) with (
   'connector.type' = 'hbase',
   'connector.version' = '1.4.3',
   'connector.table-name' = 'sink',
   'connector.rowkey' = 'rowkey:1,name:3',
   'connector.write.buffer-flush.max-rows' = '5',
   'connector.zookeeper.quorum' = 'xxxx:2181'
 );