Apache Spark 4.2 发布:原生支持向量检索与 AI 语义层
Spark 4.2 引入 Metric Views、原生向量相似度查询、地理空间类型和 PySpark Arrow 优化…
Apache Spark 4.2 正式发布,这是该项目自 2009 年诞生以来最具「AI 转向」意味的一次版本升级。维护团队明确将 Spark 重新定位为 AI 原生数据平台的核心,而非单纯的大数据批处理引擎。新版本在语义层、向量检索、地理空间支持以及 Python 开发体验四个方面带来明显改进,目标用户直指正在搭建特征工程、嵌入管线、实时推理与治理体系的 AI 开发者。
Metric Views:把业务指标变成可复用构件
Spark 4.2 在 Spark SQL 中内置了一类新的目录对象 Metric Views,相当于「一等公民」的语义层。工程师可以一次性定义净收入、流失率、日活等核心指标的取数口径,并在 BI 报表、Notebook、模型代码中复用同一份定义。
- 解决「指标多版本真相」问题,避免 AI 系统在训练和推理阶段继承不一致的业务口径。
- 为基于 LLM 的问答与决策系统提供受治理、可追溯的数据基础,减少「AI 给出的数字到底对不对」的争议。
对于在企业数据上做 RAG 或 Agent 的团队而言,Metric Views 让业务指标成为可查询、可复用的构建块,是构建可信 AI 的前置条件。
原生向量检索:RAG 不再依赖外部向量库
本次最受关注的改动是 Spark 4.2 直接在 Spark SQL 中提供向量距离与相似度函数,并新增 NEAREST BY 操作符,支持 Top-K 相似度连接。这意味着原本需要把 embedding 写入 Milvus、Pinecone 等独立向量库的工作流,现在可以在 Spark 内部完成:
- 在 Spark 中计算 embedding,并将其与结构化数据共同存储。
- 直接执行相似度查询,无需搬运到外部系统。
- 在已有 Lakehouse 架构上统一访问控制与治理,特征、原始数据、向量同处一栈。
对已经把 Lakehouse 作为「数据引力中心」的团队来说,这是显著降低 RAG 与语义检索落地摩擦的更新。当然,专用向量库在索引策略和极限扩展性上仍有优势,Spark 4.2 并非要取代所有向量数据库,而是把很多中等规模场景留在现有栈内。
地理空间一等公民:位置特征并入统一管线
Spark 4.2 引入原生 GEOMETRY 与 GEOGRAPHY 列类型,并提供 ST_* 系列函数,支持距离、包含、空间连接等操作,同时兼容 WKT、WKB 等常见格式。过去需要单独引入 GIS 引擎或繁重集成层的位置类工作,现在可以直接在 Spark 中完成:
- 旅行商问题、位置感知推荐、欺诈检测等场景可使用同一套 Spark 工作流。
- 空间特征可以与其他数据一起做连接、聚合、喂入模型或向量管线。
对 AI 开发者而言,这是「纯增量收益」的一类更新,省去了跨系统集成的维护成本。
PySpark 体验升级:Arrow 默认开启
面向 Python 端的 AI 开发者,Spark 4.2 默认启用 Arrow 优化的 PySpark UDF 执行路径,列式处理提速且无需修改既有代码。同时引入对现代 pandas API 的支持,并通过 Arrow C Data Interface 实现与 Polars、DuckDB 的零拷贝数据交换。
- Notebook 驱动的工作流中,Spark 负责大规模处理,Polars、DuckDB 等轻量工具负责交互式原型。
- 数据在不同引擎之间流转不再有序列化与拷贝开销。
总体来看,Spark 4.2 并不是一次常规的小版本迭代,而是把 AI 工作负载从「外挂拼装」推向「栈内原生」的一次系统性升级。对于已经在 Spark Lakehouse 上构建 RAG、语义检索或位置感知 AI 应用的团队,值得评估升级带来的工程收益。
