Apache Gluten 1.7.0 介绍与选型指南
基于官方仓库实查(2026-10-18)的 Apache Gluten 1.7.0 认知篇:Spark 执行下推中间层架构、Velox/CH 双后端与 Velox/Auron/ClickHouse 选型对比。
Apache Gluten 1.7.0 介绍与选型指南
目标:基于官方仓库、官方发布公告与官方渠道(查询日期 2026-10-18),介绍 Apache Gluten 1.7.0 的定位、核心架构、功能特性与同类 Spark 原生加速方案选型建议。本文为认知篇,全部论断溯源至官方来源,不做本地安装实测。
一、信息基准
- 查询日期:2026-10-18(Asia/Shanghai)。
- 本次介绍的版本:Apache Gluten 1.7.0。
1.1 版本依据
| 项目 | 结论 | 依据来源 | 查询日期 |
|---|---|---|---|
| 最新稳定版 | 1.7.0(tag v1.7.0) | GitHub Releases:apache/gluten 最新 release 为 v1.7.0,发布时间 2026-08-26(https://github.com/apache/gluten/releases) | 2026-10-18 |
| 项目身份 | Apache 顶级项目:2026-02-18 毕业出孵化器,ASF 于 2026-03-05 正式公告 | 孵化器状态页(https://incubator.apache.org/projects/gluten,原文「The Gluten project graduated on 2026-02-18」);ASF 公告(https://news.apache.org/foundation/entry/the-apache-software-foundation-graduates-two-open-source-projects-from-incubator) | 2026-10-18 |
| 仓库迁移 | 代码仓库已由 apache/incubator-gluten 迁移为 apache/gluten(毕业动作的一部分) | https://github.com/apache/gluten 实查 | 2026-10-18 |
| 社区活跃度 | 1,606 stars、最近推送 2026-10-17 | GitHub API 实查(https://api.github.com/repos/apache/gluten) | 2026-10-18 |
1.2 官方来源清单
- 官方仓库:https://github.com/apache/gluten
- Releases:https://github.com/apache/gluten/releases
- 官方文档(仓库内 docs/):https://github.com/apache/gluten/tree/main/docs
- Velox 后端文档:仓库 docs/velox-backend*.md 系列
- ASF 毕业公告:https://news.apache.org/foundation/entry/the-apache-software-foundation-graduates-two-open-source-projects-from-incubator
- 孵化器存档:https://incubator.apache.org/projects/gluten
💡 说明:Gluten 曾以 apache/incubator-gluten 名义发布(v1.2.0-v1.5.1 等孵化期版本),检索历史资料时两个仓库名并存;2026-02-18 毕业后官方品牌为「Apache Gluten™」,不含 -incubating 后缀。
二、软件概述
Apache Gluten 1.7.0 是 Spark SQL 的中间层加速插件:官方定位为「负责把基于 JVM 的 SQL 引擎的执行下推(offload)到原生引擎的中间层」(孵化器描述原文:Gluten is a middle layer responsible for offloading JVM-based SQL engines' execution to native engines)。它以 Spark 插件 jar 形态部署在计算集群,没有独立常驻服务,采用 Apache License 2.0(GitHub 仓库 license 字段实查)。
工作方式概括:Gluten 拦截 Spark 的物理执行计划,把能下推的算子/表达式转换为向量化原生执行(当前主力后端为 Velox),无法下推的算子自动回退到 Spark 原生 JVM 执行;数据面通过列式内存格式在 JVM 与原生层之间传递。ASF 公告对其价值的表述是「显著加速 Spark SQL 与 DataFrame 工作负载」。
项目沿革与节奏:Gluten 进入孵化器后以较快的节奏演进(v1.2.0 起),2026-02-18 毕业,2026-08-26 发布毕业后的第一个大版本 1.7.0(v1.5.1 → v1.7.0 跨越了孵化期与毕业期)。从 1.7.0 的 release 内容看,社区同时在推进 Velox 后端与 ClickHouse 后端(Delta 写入、GPU CI、shuffle writer 优化等条目),仓库推送保持高频(pushed 2026-10-17,实查)。
三、核心架构
3.1 中间层与计划下推
Gluten 位于 Spark SQL 与原生执行引擎之间:Spark 完成物理计划优化后,Gluten 将其中可向量化执行的部分翻译为原生执行计划交由后端执行,其余部分保留在 JVM 上按原有路径执行,形成「混合执行」的容错设计。这一「能下推则下推、不能则回退」的机制是 Gluten 区别于整体替换型引擎的关键。
3.2 后端体系(Pluggable Backend)
Gluten 的后端可插拔,官方维护两条主线:
- Velox 后端:基于 Meta 开源的 Velox C++ 向量化执行库,是当前使用最广、成熟度最高的后端(release 条目与 docs 均以 VL 为主线)。
- ClickHouse 后端(CH):基于 ClickHouse 引擎能力的后端,与 Velox 后端并行演进(v1.7.0 release 中存在 CH 条目)。
来源:GitHub Releases v1.7.0 变更清单(VL/CH 前缀条目,2026-10-18 实查)。
3.3 数据面:列式内存与 shuffle
下推执行要求数据以列式格式在 JVM 与原生内存间高效传递;Gluten 针对列式转换与 shuffle 写出做了大量原生优化(v1.7.0 中包含原生统计追踪消除 C2R 开销、shuffle writer 重构等条目),并提供 native 层的算子扩展(如 WindowGroupLimitExec 的 Rank/DenseRank 支持)。
3.4 兼容与回退机制
对不支持的函数/算子/DDL,Gluten 按配置回退到 Spark 语义执行,保证功能正确性优先;版本对齐方面,官方构建矩阵覆盖 Spark 3.x 多个次版本与 Spark 4.x(v1.7.0 变更涉及 Spark 4.1 支持),用户按集群 Spark 版本选择对应构建产物。
四、功能特性
- Spark SQL/DDataFrame 透明加速:无需改写业务 SQL,加载插件 + 配置参数即可启用(官方部署文档口径)。
- 双后端:Velox 后端与 ClickHouse 后端可插拔,按基础设施与功能覆盖选择。
- 混合执行与自动回退:不支持的部分自动落回 Spark,避免整体迁移风险。
- 原生列式执行:基于 Velox/CH 的向量化引擎,充分发挥 SIMD 与列式内存优势。
- 湖仓格式协同:v1.7.0 包含 Delta 写入的原生统计追踪、以及 Parquet/ORC 读取链路的持续优化(release 条目实查)。
- GPU 探索:社区维护 GPU CI 通道(v1.7.0 含 GPU CI 相关条目,处于工程化推进状态)。
- 版本覆盖:构建产物覆盖 Spark 3.4/3.5/4.0/4.1 等版本线(官方 release 与 CI 矩阵口径)。
五、快速上手
Gluten 的官方「上手」形态是把插件部署到既有 Spark 集群。以下步骤要点整理自官方仓库部署文档(docs/deployment-gnu.md 等 docs 目录文件,2026-10-18 实查目录结构),未做本地实测。
(1)获取发布 jar:从 GitHub Releases 下载对应 Spark 版本的构建包(如 velox 后端的 gluten-velox-bundle-spark3.5_2.12 系列 jar)。
(2)把 bundle jar 放入 Spark jar 路径并在 spark-defaults.conf 或提交参数中启用插件(官方文档给出的核心配置骨架,具体键名以官方 docs/deployment 文档为准):
spark.plugins=org.apache.gluten.GlutenPlugin
spark.memory.offHeap.enabled=true
spark.memory.offHeap.size=8g
spark.sql.catalogImplementation=hive
(3)按后端设置原生库相关参数(Velox 后端为 bundle 自带;ClickHouse 后端需额外安装原生库),随后正常提交 Spark 作业即可观察到算子下推。
(4)验证:官方 docs 提供 fallback 监控与调优文档(可通过 Spark UI 中 Gluten 指标观察下推与回退情况),详见 https://github.com/apache/gluten/tree/main/docs 。
⚠️ 提示: Gluten 的参数面随版本演进较快,不同 Spark/后端组合的可用参数不同,生产部署前请以所用版本的官方 docs 为准(本文不做参数级承诺)。
六、适用场景与限制
6.1 适用场景
- Spark SQL 批处理提效:ETL、报表、湖仓(Delta/Iceberg/Hudi + Parquet/ORC)扫描聚合类负载,CPU 成本主导的场景收益最直接。
- 存量 Spark 集群加速:保留 Spark 调度/生态,用插件方式注入原生执行,替代「迁移到全新引擎」的方案。
- 多后端基础设施团队:有能力维护 Velox 或 ClickHouse 原生库,追求执行层可插拔。
6.2 限制与注意
- 依赖原生二进制:需要与集群 OS/CPU/Spark 版本匹配的构建产物;原生库部署与运维是主要复杂度来源。
- 覆盖度非 100%:不支持的算子/函数回退 JVM 执行,性能收益与负载的下推比例强相关,POC 时应实测自家 SQL 集合。
- Spark 版本耦合:每个 Gluten 版本只覆盖特定 Spark 版本矩阵,升级 Spark 通常需要同步升级 Gluten。
- 后端选型成本:Velox 与 CH 后端能力矩阵有差异(文档与 release 条目可见),切换后端属于工程决策而非配置开关。
七、同类选型对比
对比口径说明:三者均为「Spark 原生/向量化加速」赛道的代表方案;版本与活跃度于 2026-10-18 经官方渠道实查(auron.apache.org、GitHub API、clickhouse.com)。
| 维度 | Apache Gluten 1.7.0 | Velox(Meta 开源) | Apache Auron 8.0.0(原 Blaze) | ClickHouse 26.9(加速器视角) |
|---|---|---|---|---|
| 许可 | Apache-2.0 | Apache-2.0(GitHub license 实查) | Apache-2.0 | Apache-2.0 |
| 定位 | Spark 执行下推中间层(可插拔后端) | 原生向量化执行库(被 Gluten/Spark-Ignite 等用作后端) | 面向大数据引擎的原生加速器(基于 Apache DataFusion) | 自成体系的 OLAP 数据库(可作 Gluten 后端) |
| 集成形态 | Spark 插件 jar + 原生库 | C++ 库,需引擎侧集成 | Spark 插件(DataFusion 基座) | 独立数据库 |
| 治理 | Apache 顶级项目(2026-02-18 毕业) | Meta 主导开源社区 | Apache 孵化器项目(auron.apache.org) | ClickHouse 公司主导 |
| 社区活跃度 | 1,606 stars,pushed 2026-10-17(GitHub API 实查 2026-10-18) | 4,231 stars,pushed 2026-10-17(GitHub API 实查 2026-10-18) | 1,825 stars,pushed 2026-10-17(GitHub API 实查 2026-10-18) | 50,464 stars,pushed 2026-10-18(GitHub API 实查 2026-10-18),月度大版本 |
| 最近发版 | v1.7.0(2026-08-26,GitHub Releases) | 无常规版本化发布,main 持续演进(GitHub 实查) | 8.0.0-incubating(2026-07-18,auron.apache.org) | 26.9(2026-09-23,clickhouse.com) |
| 版本节奏 | 大版本 + 高频 CI | 滚动主干 | 版本线较新(7.0 于 2026-02、8.0 于 2026-07) | 月度版本 + LTS(26.8 为 LTS) |
| 引擎覆盖 | Spark 3.4-4.1 多版本构建矩阵 | 引擎侧各自集成 | Spark 为主,架构上预留其他引擎扩展 | 独立部署(Spark 联邦读取走生态连接器) |
| 兼容矩阵 | 与 Spark 版本/OS/CPU 强相关 | 由集成引擎定义 | 与 Spark 版本相关(官方归档页) | 独立运行时,跨平台包 |
选型建议:存量 Spark 集群追求「最小迁移成本 + 最大下推生态」,Gluten(Velox 后端)是当前生态共识方案;想要 DataFusion 系实现并接受较新项目,关注 Apache Auron(原 Blaze);本身就是 OLAP 场景而非 Spark 批处理,直接评估 ClickHouse;Velox 更适合作为引擎研发团队的自研基座而非直接部署物。
八、参考链接
- 官方仓库:https://github.com/apache/gluten
- Releases(v1.7.0):https://github.com/apache/gluten/releases
- 官方文档目录:https://github.com/apache/gluten/tree/main/docs
- ASF 毕业公告:https://news.apache.org/foundation/entry/the-apache-software-foundation-graduates-two-open-source-projects-from-incubator
- 孵化器状态存档:https://incubator.apache.org/projects/gluten
- Velox:https://github.com/facebookincubator/velox
- Apache Auron:https://auron.apache.org/
- ClickHouse 发布页:https://clickhouse.com/blog/clickhouse-release-26-9