Apache Doris 4.0 的 AI 功能(LLM 函数 + 向量索引)与 Cloudera CDP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)融合
Apache Doris 4.0 的 AI 功能(LLM 函数 + 向量索引)与 Cloudera CDP 7.3 (或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)本身并无官方集成,但可以通过 架构协同、数据互通、安全对齐 等方式实现功能融合,构建"CMP 负责数据湖治理 + Doris 负责智能实时分析"的混合 AI 数据平台。
以下是两者融合的可行路径、关键技术点和实施建议:
一、整体融合架构
Text:
+---------------------------------------------+
| Cloudera CMP 7 (CMP 7) |
| - HDFS / S3 (Data Lake) |
| - Hive Metastore (统一元数据) |
| - Spark / Flink on YARN (批流计算) |
| - Ranger / Kerberos (安全认证) |
| - Atlas (数据血缘) |
+----------------------+----------------------+
↑↓ (Hive Catalog / Broker Load / Spark Connector)
+---------------------------------------------+
| Apache Doris 4.0 (独立部署) |
| - LLM 函数:SQL 内调用大模型 |
| - 向量索引:支持 ANN 语义检索 |
| - MySQL 协议:BI/应用直连 |
+---------------------------------------------+
✅ 核心原则 :Doris 不侵入 CMP 集群,作为 外部高性能 AI 分析引擎 存在。
二、关键融合能力与实现方式
1. 元数据互通:Doris 读取 CMP Hive 表(含 Kerberos )
使用 Doris 2.0+ 的 External Hive Catalog,直接查询 CMP 中的 Hive 表,无需数据移动。
Sql:
-- 在 Doris 中创建 Hive Catalog(支持 Kerberos)
CREATE EXTERNAL CATALOG CMP_hive_krb
PROPERTIES (
"type" = "hive",
"hive.metastore.uris" = "thrift://CMP-hms-host:9083",
"hive.metastore.sasl.enabled" = "true",
"hive.metastore.kerberos.principal" = "hive/_HOST@EXAMPLE.COM",
"doris.hive.catalog.kerberos.principal" = "doris/doris-node1@EXAMPLE.COM",
"doris.hive.catalog.kerberos.keytab" = "/etc/security/keytabs/doris.keytab",
"hadoop.security.authentication" = "kerberos"
);
✅ 应用场景:
- 在 Doris 中对 CMP 的用户行为日志表执行 LLM_SENTIMENT(comment) 实时情感分析;
- 对 Hive 中的商品描述字段进行 LLM_FIXGRAMMAR 清洗后入库 Doris 明细表。
2. 数据写入:CMP Spark/Flink → Doris (带 Kerberos )
通过 官方 Spark/Flink Doris Connector,将 CMP 中的计算结果写入 Doris。
示例:PySpark 写入(CMP 7.3.1 + Spark 3.2 )
Python:
df = spark.sql("SELECT user_id, raw_text FROM hive_table WHERE dt = '2025-11-10'")
df.write.format("doris") \
.option("doris.fenodes", "doris-fe:8030") \
.option("doris.table.identifier", "ai_analytics.cleaned_feedback") \
.option("user", "root") \
.option("password", "") \
.mode("append") \
.save()
🔐 安全说明:
- Spark 作业本身已通过 CMP 的 Kerberos 认证;
- Doris 写入走 Stream Load (HTTP ) 或 MySQL 协议,需确保网络可达且 FE 开放 8030/9030 端口;
- 若 Doris 启用 LDAP/Kerberos,需额外配置 connector 的认证参数(目前社区版 Doris 暂不支持 Kerberos for MySQL protocol,建议用 IP 白名单 + 强密码)。
3. AI 能力协同:CMP 提供数据,Doris 提供 AI 推理
| 步骤 | CMP 角色 | Doris 4.0 角色 |
|---|---|---|
| 1. 数据采集 | Flume / Sqoop / Kafka → HDFS/Hive | --- |
| 2. 批处理清洗 | Spark SQL / Data Engineering Jobs | --- |
| 3. 实时特征生成 | Flink → Kafka | --- |
| 4. AI 增强分析 | 提供原始文本/ 向量数据 | 执行 LLM_* 函数 + 向量检索 |
| 5. 结果输出 | --- | Doris 表 → Superset/Tableau/应用 |
✅ 典型场景:
- CMP 中存储千万级用户评论(Hive 表);
- Doris 通过 Hive Catalog 直接访问,并批量执行:
Sql:
SELECT
id,
LLM_CLASSIFY(comment, '["投诉", "咨询", "表扬"]') AS category,
LLM_SENTIMENT(comment) AS sentiment,
LLM_SUMMARIZE(comment) AS summary
FROM CMP_hive_krb.default.user_comments;
- 结果可写回 Doris 表,供 BI 实时看板使用。
4. 向量数据融合(高级场景)
若 CMP 中已有 Embedding 向量(如通过 Spark MLlib 或自定义 UDF 生成):
- 将向量列(ARRAY<FLOAT>)写入 Hive ORC/Parquet 表;
- Doris 通过 Hive Catalog 读取该表;
- 在 Doris 中创建 Duplicate Key 表 + 向量索引,实现高效 ANN 检索。
⚠️ 注意:Hive 不原生支持 ARRAY<FLOAT> 的高效向量操作,建议在 Spark 中预处理后写入 Doris 明细表以获得最佳性能。
三、安全与运维对齐(Kerberos 环境)
在 CMP Base 7.3.1 + Kerberos 环境下部署 Doris 4.0:
| 组件 | 配置要点 |
|---|---|
| 操作系统 | RHEL/CentOS 7/8,与 CMP 节点一致 |
| Kerberos 客户端 | 安装 krb5-workstation,复制 /etc/krb5.conf |
| Doris 主体 | 创建 doris/hostname@REALM,生成 keytab |
| Hive 访问 | 在 CREATE CATALOG 中指定 principal 和 keytab 路径 |
| 网络策略 | 开放 CMP ↔ Doris 节点间的 8030(FE)、9060(BE)、9020(BE RPC)等端口 |
四、为什么不推荐将 Doris 打包为 CMP Parcel ?
尽管技术上可手动制作 .parcel 包(见社区实验方案),但存在严重问题:
- ❌ Doris 4.0 的 LLM 函数依赖外部 HTTP 服务,CM 无法管理其生命周期;
- ❌ 向量索引需要特定 JVM 参数和内存配置,与 CDH/CMP 默认环境冲突;
- ❌ 无官方支持,升级维护困难;
- ❌ CMP Public Cloud 完全禁止自定义 Parcel。
✅ 推荐做法:独立部署 Doris,通过标准协议(JDBC/HTTP/Hive)与 CMP 交互。
五、总结:融合价值
| 能力 | CMP 7 | Doris 4.0 | 融合后价值 |
|---|---|---|---|
| 数据湖存储 | ✅ HDFS/S3 | ❌ | 统一可信数据源 |
| 批流计算 | ✅ Spark/Flink | ❌ | 复杂 ETL 与特征工程 |
| 实时分析 | ⚠️ Impala/Kudu 延迟高 | ✅ MPP + 列存 | 亚秒级响应 |
| AI 原生能力 | ❌ 需外接 Python/MLflow | ✅ LLM 函数 + 向量索引 | SQL 内完成智能分析 |
| 安全治理 | ✅ Ranger/Kerberos/Atlas | ⚠️ 基础 RBAC | 元数据血缘贯通(需手动映射) |
🎯 最终目标 :
CMP 做" 数据底座" ,Doris 4.0 做"AI 分析引擎",二者通过开放协议协同,构建企业级智能数据平台。