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

Hbase源表

功能描述

创建source流从HBase中获取数据,作为作业的输入数据。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。DLI可以从HBase中读取数据,用于过滤分析、数据转储等场景。

前提条件

  • 该场景作业需要运行在DLI的独享队列上,因此要与HBase建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。
  • 若使用MRS HBase,请在增强型跨源的主机信息中添加MRS集群所有节点的主机ip信息。

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

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

语法格式

create table hbaseSource (
  attr_name attr_type 
  (',' attr_name attr_type)* 
  (',' watermark for rowtime_column_name as watermark-strategy_expression)
)
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.rowkey

读取复合rowkey的内容,并根据设置的大小,赋给新的字段

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

其中3表示取该字段的前3个byte,该值不能大于该字段的字节大小,且该值不能小于1。表示将复合rowkey的前三个字节赋给字段rowkey1,其后三个字节赋给字段rowkey2

示例

create table hbaseSource(
  rowkey1 string,
  rowkey2 string,
  info Row<owner string>,
  car ROW<miles string, speed string>
 ) with (
   'connector.type' = 'hbase',
   'connector.version' = '1.4.3',
   'connector.table-name' = 'carinfo',
   'connector.rowkey' = 'rowkey1:1,rowkey2:3',
   'connector.zookeeper.quorum' = 'xxxx:2181'
 );