概述
Apache Iceberg 是面向大规模分析场景的开放表格式,提供 Schema 演进、隐藏分区、快照等能力,通常基于 Hive Metastore 或 REST Catalog 管理元数据。DataBuddy 数据接入支持将 Iceberg 作为来源端,覆盖离线同步场景。本文介绍其连接配置、能力支持范围、前提条件与常见问题。
支持的版本
类型 | 支持版本 |
Iceberg | 1.1.0 / 1.4.3 |
读取能力
能力 | 支持情况 | 说明 |
离线同步(读 / 写) | ✓ / - | 支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入 |
使用限制
限制项 | 说明 |
元数据服务 | 依赖 Hive Metastore 或 REST Catalog |
认证方式 | 支持 Kerberos / Simple |
支持的字段类型
Iceberg 基于 Apache 类型系统,以下是 DataBuddy 的离线读支持情况。
字段类型 | 说明 |
BOOLEAN | 布尔 |
INT / LONG | 整数 |
FLOAT / DOUBLE | 浮点数 |
DECIMAL | 定点数 |
STRING | 字符串 |
BINARY / FIXED | 二进制 |
DATE / TIME / TIMESTAMP | 时间类型 |
UUID | 唯一标识 |
LIST / MAP / STRUCT | 复杂嵌套类型 |
前提条件
Kerberos 认证(推荐用于安全集群)
配置项 | 说明 |
Principal | Kerberos principal |
Keytab | 客户端认证的 keytab 文件 |
krb5.conf | Kerberos 配置文件 |
请确保 DataBuddy 运行环境与元数据服务(Hive Metastore / REST Catalog)网络连通。
创建数据源
操作步骤
1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 进入 数据集成 > 数据源管理(或 平台管理 > 数据源管理)。
4. 点击 添加数据源,选择 Iceberg。
5. 填写连接配置与认证信息,详见 参数说明。
6. 点击 连通性测试(参见 数据源连通性测试)。
7. 测试通过后点击 保存 或 保存 & 创建任务。
参数说明
参数 | 说明 | 是否必填 | 默认值 |
数据源名称 | 数据源在工作空间内的唯一标识 | 是 | - |
元数据类型 | Hive Metastore / REST Catalog | 是 | Hive Metastore |
MetaStore URIs | Hive Metastore 地址,格式 thrift://host:port | 元数据类型为 Hive Metastore 时必填 | - |
REST Catalog URI | REST Catalog 地址 | 元数据类型为 REST Catalog 时必填 | - |
认证方式 | Kerberos / Simple | 是 | Simple |
Principal | Kerberos 认证下的 principal | 认证方式为 Kerberos 时必填 | - |
Keytab | Kerberos 认证下的 keytab 文件 | 认证方式为 Kerberos 时必填 | - |
krb5.conf | Kerberos 配置文件 | 认证方式为 Kerberos 时必填 | - |
在数据接入任务中使用
离线单表
配置项 | 说明 |
数据来源 | 已配置的 Iceberg 数据源 |
库 / 表 | 从元数据服务中选择库与表 |
筛选条件 | 支持分区与条件过滤 |
最佳实践
实践 | 建议 |
认证方式 | 安全集群优先使用 Kerberos |
分区设计 | 合理使用隐藏分区,提升读取效率 |
网络打通 | 确保与元数据服务网络连通 |
常见问题
Q:读取不到表元数据?
A:检查元数据服务地址可达性与认证配置,确认表已注册。
Q:分区表读取数据为空?
A:确认筛选条件与分区字段一致。