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' );

