
# Hbase结果表
#### 功能描述
DLI将作业的输出数据输出到HBase中。HBase是一个稳定可靠，性能卓越、可伸缩、面向列的分布式云存储系统，适用于海量数据存储以及分布式计算的场景，用户可以利用HBase搭建起TB至PB级数据规模的存储系统，对数据轻松进行过滤分析，毫秒级得到响应，快速发现数据价值。HBase支持消息数据、报表数据、推荐类数据、风控类数据、日志数据、订单数据等结构化、半结构化的KeyValue数据存储。 利用DLI，用户可方便地将海量数据高速、低时延写入HBase。
#### 前提条件
该场景作业需要运行在DLI的独享队列上，因此要与HBase建立增强型跨源连接，且用户可以根据实际所需设置相应安全组规则。
- **若使用MRS HBase，请在增强型跨源的主机信息中添加MRS集群所有节点的主机ip信息。**
  详细操作请参考《数据湖探索用户指南》中的"[修改主机信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0013.html)"章节描述。
  
- 如何建立增强型跨源连接，请参考《数据湖探索用户指南》中[增强型跨源连接](https://support.huaweicloud.com/usermanual-dli/dli_01_0426.html)章节。
- 如何设置安全组规则，请参见[《虚拟私有云用户指南》](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0073379079.html)中"安全组"章节。
 
#### 语法格式
```
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'
 );
```
