概述
Apache HBase 是构建在 HDFS 之上的分布式列式 NoSQL 数据库,适用于海量结构化 / 半结构化数据的实时读写。DataBuddy 数据接入支持将 HBase 作为来源端,覆盖离线同步场景。本文介绍其连接配置、能力支持范围、前提条件与常见问题。
支持的版本
类型 | 支持版本 |
HBase | 2.x / 3.x |
读取能力
能力 | 支持情况 | 说明 |
离线同步(读 / 写) | ✓ / - | 支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入 |
使用限制
限制项 | 说明 |
认证方式 | 支持 Kerberos / Simple |
数据模型 | 以命名空间(Namespace)/ 表为粒度读取 |
Schema | 无固定列 Schema,按列族 + 列限定符组织数据 |
数据组织方式
HBase 数据由 RowKey 与若干 列族(Column Family) 构成,每个列族下可包含多个 列限定符(Qualifier)。DataBuddy 读取时会将列族下的列映射为字段。
组成 | 说明 |
RowKey | 行主键,用于唯一标识一行 |
Column Family | 列族,建表时定义 |
Qualifier | 列限定符,列族下的动态列 |
Timestamp | 版本时间戳,支持多版本 |
前提条件
Kerberos 认证(推荐用于安全集群)
配置项 | 说明 |
Principal | Kerberos principal |
Keytab | 客户端认证的 keytab 文件 |
krb5.conf | Kerberos 配置文件 |
请确保 DataBuddy 运行环境与 HBase ZooKeeper / RegionServer 网络连通,且拥有目标表的读取权限。
创建数据源
操作步骤
1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 进入 数据集成 > 数据源管理(或 平台管理 > 数据源管理)。
4. 点击 添加数据源,选择 HBase。
5. 填写连接配置与认证信息,详见 参数说明。
6. 点击 测试连接(参见 数据源连通性测试)。
7. 测试通过后点击 保存 或 保存 & 创建任务。
参数说明
参数 | 说明 | 是否必填 | 默认值 |
数据源名称 | 数据源在工作空间内的唯一标识 | 是 | - |
ZooKeeper 地址 | HBase ZooKeeper 集群地址,格式 host1:2181,host2:2181 | 是 | - |
认证方式 | Kerberos / Simple | 是 | Simple |
Principal | Kerberos 认证下的 principal | 认证方式为 Kerberos 时必填 | - |
Keytab | Kerberos 认证下的 keytab 文件 | 认证方式为 Kerberos 时必填 | - |
krb5.conf | Kerberos 配置文件 | 认证方式为 Kerberos 时必填 | - |
ZooKeeper 地址示例:
10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181
在数据接入任务中使用
离线单表
配置项 | 说明 |
数据来源 | 已配置的 HBase 数据源 |
命名空间 / 表 | 从列表中选择命名空间与表 |
读取范围 | 支持按 RowKey 范围或全表读取 |
最佳实践
实践 | 建议 |
认证方式 | 安全集群优先使用 Kerberos |
RowKey 设计 | 避免热点,合理设计 RowKey 分布 |
网络打通 | 确保与 ZooKeeper / RegionServer 网络连通 |
常见问题
Q:连接 ZooKeeper 失败?
A:检查 ZooKeeper 地址与端口可达性,确认 Kerberos 配置正确。
Q:读取表时列不完整?
A:HBase 无固定列 Schema,确认目标列族与列限定符存在且可读。