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' = '' );
参数说明
参数 |
是否必选 |
说明 |
---|---|---|
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' );