Skip to content

HBase Sink组件使用说明

组件说明

用于将数据写入 HBase、星环 Hyperbase 数据库。星环 Hyperbase 数据库也使用 HBase Sink 组件。

注意

需要提前创建表及列族。

配置项说明

配置名称数据类型是否必填默认值描述
节点名称StringHBase当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。
节点编码String自动生成当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。
选择数据源String-从下拉选项中选择列出的当前项目已经关联的数据源。
选择表String-从下拉列表中选择数据表。
Rowkey取值列String""作为RowKey的列名列表。
Rowkey分隔符String""多列RowKey的连接符。
列族String-列族映射规则,控制字段写入哪个列族。例如:Id作为行键和其他字段写入到不同的列族,您可以分配 family_name { name = "info1" age = "info2" } name 将写入列族 info1,age 将写入列族 info2 如果您希望将所有字段写入同一列族,你可以分配 family_name { all_columns = "info" } 所有字段都将写入列族 info。
字段String-字段。
空值写入模式Stringskip空值写入方式,支持[skip, empty],默认跳过 skip:当字段为 null 时,连接器不会将此字段写入 hbase empty:当字段为null时,连接器将写入并为此字段生成空值。
Write Ahead Log写入BooleanHBase 采用了 Write-Ahead Log (WAL) 机制来保证数据的持久性和容错性。
版本列名String-指定字段作为HBase时间戳。
缓冲区大小String8HBase 客户端写缓冲区大小。
编码Stringutf8字符串类型字段的编码,支持[utf8,gbk],默认为utf8。
可选参数Map-其他参数,用户可以根据需求进行配置。

FAQ

Q1:提示“TableNotFoundException”

A:HBase表未提前创建。请先通过HBase Shell或API建表。

Q2:wal_write一定要设为true吗?

A:官方表格标记为“yes”(必填),但示例中常设为false。建议显式配置,生产环境如需数据高可靠请设为true(会略微影响性能)。

Q3:如何设置HBase客户端的自定义参数?

A:使用hbase_extra_config,例如:

editorconfig
hbase_extra_config {
hbase.client.retries.number = 3
hbase.rpc.timeout = 5000
}

Q4:是否支持Phoenix写入?

A:不支持。HBase Sink是直接写入HBase表。如需通过Phoenix写入,请使用SeaTunnel的Phoenix JDBC Sink(配置driver=org.apache.phoenix.jdbc.PhoenixDriver)。

Q5:2.3.10版本有什么HBase相关更新?

A:2.3.10对HBase Connector进行了“配置优化”,但官方发布说明中未披露具体细节。建议使用2.3.6及以上稳定版本。