> For the complete documentation index, see [llms.txt](https://docs.selfuel.digital/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.selfuel.digital/data-integration-with-nexus/nexus-elements/connectors/sink/hbase.md).

# Hbase

> Hbase sink connector

### Description[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#description) <a href="#description" id="description"></a>

Output data to Hbase

### Key features[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#key-features) <a href="#key-features" id="key-features"></a>

* [ ] &#x20;exactly-once

### Options[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#options) <a href="#options" id="options"></a>

| name                 | type    | required | default value |
| -------------------- | ------- | -------- | ------------- |
| zookeeper\_quorum    | string  | yes      | -             |
| table                | string  | yes      | -             |
| rowkey\_column       | list    | yes      | -             |
| family\_name         | config  | yes      | -             |
| rowkey\_delimiter    | string  | no       | ""            |
| version\_column      | string  | no       | -             |
| null\_mode           | string  | no       | skip          |
| wal\_write           | boolean | yes      | false         |
| write\_buffer\_size  | string  | no       | 8 *1024* 1024 |
| encoding             | string  | no       | utf8          |
| hbase\_extra\_config | string  | no       | -             |
| common-options       |         | no       | -             |
| ttl                  | long    | no       | -             |

#### zookeeper\_quorum \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#zookeeper_quorum-string) <a href="#zookeeper_quorum-string" id="zookeeper_quorum-string"></a>

The zookeeper cluster host of hbase, example: "hadoop001:2181,hadoop002:2181,hadoop003:2181"

#### table \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#table-string) <a href="#table-string" id="table-string"></a>

The table name you want to write, example: "nexus"

#### rowkey\_column \[list][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#rowkey_column-list) <a href="#rowkey_column-list" id="rowkey_column-list"></a>

The column name list of row keys, example: \["id", "uuid"]

#### family\_name \[config][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#family_name-config) <a href="#family_name-config" id="family_name-config"></a>

The family name mapping of fields. For example the row from upstream like the following shown:

| id | name          | age |
| -- | ------------- | --- |
| 1  | tyrantlucifer | 27  |

id as the row key and other fields written to the different families, you can assign

family\_name { name = "info1" age = "info2" }

this means that `name` will be written to the family `info1` and the `age` will be written to the family `info2`

if you want other fields written to the same family, you can assign

family\_name { all\_columns = "info" }

this means that all fields will be written to the family `info`

#### rowkey\_delimiter \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#rowkey_delimiter-string) <a href="#rowkey_delimiter-string" id="rowkey_delimiter-string"></a>

The delimiter of joining multi row keys, default `""`

#### version\_column \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#version_column-string) <a href="#version_column-string" id="version_column-string"></a>

The version column name, you can use it to assign timestamp for hbase record

#### null\_mode \[double][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#null_mode-double) <a href="#null_mode-double" id="null_mode-double"></a>

The mode of writing null value, support \[`skip`, `empty`], default `skip`

* skip: When the field is null, connector will not write this field to hbase
* empty: When the field is null, connector will write generate empty value for this field

#### wal\_write \[boolean][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#wal_write-boolean) <a href="#wal_write-boolean" id="wal_write-boolean"></a>

The wal log write flag, default `false`

#### write\_buffer\_size \[int][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#write_buffer_size-int) <a href="#write_buffer_size-int" id="write_buffer_size-int"></a>

The write buffer size of hbase client, default `8 * 1024 * 1024`

#### encoding \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#encoding-string) <a href="#encoding-string" id="encoding-string"></a>

The encoding of string field, support \[`utf8`, `gbk`], default `utf8`

#### hbase\_extra\_config \[config][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#hbase_extra_config-config) <a href="#hbase_extra_config-config" id="hbase_extra_config-config"></a>

The extra configuration of hbase

#### ttl \[long][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#ttl-long) <a href="#ttl-long" id="ttl-long"></a>

Hbase writes data TTL time, the default is based on the TTL set in the table, unit: milliseconds

#### common options[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#common-options) <a href="#common-options" id="common-options"></a>

Sink plugin common parameters, please refer to [S](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/common-options)[Sink Common Options](/data-integration-with-nexus/nexus-elements/connectors/sink/sink-common-options.md) for details

### Example[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#example) <a href="#example" id="example"></a>

```

Hbase {
  zookeeper_quorum = "hadoop001:2181,hadoop002:2181,hadoop003:2181"
  table = "nexus_test"
  rowkey_column = ["name"]
  family_name {
    all_columns = nexus
  }
}
```

### Writes To The Specified Column Family[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Hbase#writes-to-the-specified-column-family) <a href="#writes-to-the-specified-column-family" id="writes-to-the-specified-column-family"></a>

```
Hbase {
  zookeeper_quorum = "hbase_e2e:2181"
  table = "assign_cf_table"
  rowkey_column = ["id"]
  family_name {
    c_double = "cf1"
    c_bigint = "cf2"
  }
}
```
