概述
Apache Hive 是构建在 Hadoop 之上的数据仓库工具,通过 HiveQL 对 HDFS 上的海量数据进行查询与分析。DataBuddy 数据接入支持将 Hive 作为来源端,覆盖离线同步场景。本文介绍其连接配置、能力支持范围、前提条件与常见问题。
支持的版本
类型 | 支持版本 |
Hive | 2.x / 3.x |
读取能力
能力 | 支持情况 | 说明 |
离线同步(读 / 写) | ✓ / - | 支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入 |
使用限制
限制项 | 说明 |
元数据服务 | 需提供可访问的 Hive MetaStore 地址 |
认证方式 | 支持 Kerberos / Simple |
分区表 | 支持读取分区表 |
支持的数据类型
Hive 数据类型如下,DataBuddy 离线读均支持。
类型分类 | 类型 |
数值型 | TINYINT / SMALLINT / INT / BIGINT / FLOAT / DOUBLE / DECIMAL |
字符型 | STRING / VARCHAR / CHAR |
二进制 | BINARY |
布尔型 | BOOLEAN |
时间型 | DATE / TIMESTAMP |
复杂类型 | ARRAY / MAP / STRUCT / UNIONTYPE |
前提条件
Kerberos 认证(推荐用于安全集群)
配置项 | 说明 |
Principal | 服务端与客户端的 Kerberos principal |
Keytab | 客户端认证的 keytab 文件 |
krb5.conf | Kerberos 配置文件 |
Simple 认证
无认证或用户名 / 密码认证,直接连接 MetaStore 即可。
请确保 DataBuddy 运行环境与 Hive MetaStore 及 HDFS 网络连通,且 Kerberos 配置正确。
创建数据源
操作步骤
1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 进入 数据集成 > 数据源管理(或 平台管理 > 数据源管理)。
4. 点击 添加数据源,选择 Hive。
5. 填写连接配置与认证信息,详见 参数说明。
6. 点击 测试连接(参见 数据源连通性测试)。
7. 测试通过后点击 保存 或 保存 & 创建任务。
参数说明
参数 | 说明 | 是否必填 | 默认值 |
数据源名称 | 数据源在工作空间内的唯一标识 | 是 | - |
Hive MetaStore URIs | MetaStore 服务地址,格式 thrift://host:port,多个用逗号分隔 | 是 | - |
认证方式 | Kerberos / Simple / LDAP | 是 | Simple |
Principal | Kerberos 认证下的 principal | 认证方式为 Kerberos 时必填 | - |
Keytab | Kerberos 认证下的 keytab 文件 | 认证方式为 Kerberos 时必填 | - |
krb5.conf | Kerberos 配置文件 | 认证方式为 Kerberos 时必填 | - |
在数据接入任务中使用
离线单表
配置项 | 说明 |
数据来源 | 已配置的 Hive 数据源 |
库 / 表 | 从 MetaStore 中下拉选择库与表,支持分区表 |
筛选条件 | 标准 WHERE 语法,支持时间参数 |
最佳实践
实践 | 建议 |
认证方式 | 安全集群优先使用 Kerberos,避免明文账号 |
元数据高可用 | 提供多个 MetaStore 地址以实现故障切换 |
网络打通 | 确保与 HDFS / MetaStore 网络连通 |
常见问题
Q:连接 MetaStore 失败?
A:检查 MetaStore 地址与端口(默认 9083)可达性,确认 Kerberos 配置正确。
Q:读取分区表时数据为空?
A:确认分区元数据已同步,且筛选条件与分区字段一致。