AI News HubLIVE
站内改写2 分钟阅读

Spark 4.2 新增功能:或可淘汰你的向量数据库

Apache Spark 4.2 发布,新增原生向量搜索、治理指标、流处理升级和 Python 支持增强,使 Spark 扩展为 AI 服务层,减少对独立向量数据库的需求。

来源Hacker News AI作者: Brajeshwar

Apache Spark 4.2 于上周发布,标志着 Spark 在企业数据处理核心角色上的又一次扩展。新版本针对 AI 工作负载增加了多项特性,包括治理指标、向量检索原语、实时处理、Python 支持改进以及原生地理空间分析,这些功能基于近期 Spark 在 AI 和流处理方面的更新,反映了当今许多工程团队对平台的使用方式。此次发布在 Spark 传统的数据处理引擎角色基础上,增加了支持生产级 AI 应用所需的更多能力。

对于已经使用 Spark 的团队来说,新功能意味着可以在不离开平台的情况下完成更多工作,从而减少需要管理的系统数量。

治理指标杜绝冲突:不同团队对业务指标的定义往往不一致,久而久之会导致报告冲突和信任问题。当 AI 应用开始消费与企业分析师和 BI 工具相同的数据时,这一问题更加突出。Spark 4.2 通过引入治理指标视图解决了这一挑战:组织可以一次性定义业务指标并在所有应用中复用。指标视图将维度和度量作为 Spark 理解的一等公民,确保无论谁或什么进行查询,聚合语义都能保持一致。

原生向量搜索:最显著的亮点之一是原生向量搜索,它减少了在 Spark 和独立向量数据库之间移动数据的需求。Spark 4.2 引入了向量距离和相似度函数、向量归一化、向量聚合以及新的 SQL 操作符 NEAREST BY,用于 top-K 相似度搜索。通过将向量搜索引入 Spark,开发者可以将更多检索流程保留在同一平台上。

Python 互操作性简化:Spark 4.2 简化了 Spark 与 Arrow 原生工具之间的数据交换。通过支持 Arrow C Data Interface 和 PyCapsule 协议,Spark DataFrame 可以直接传递给 Polars 和 DuckDB 等工具,无需复制或序列化底层数据,前提是双方都支持相应标准。此外,PySpark 得到扩展,Arrow 优化的 UDF 执行现为默认设置,Python 数据源还内置了时间和内存分析功能,帮助开发者排查自定义连接器问题。

Spark Connect 使引擎可被代理调用:Spark Connect 通过基于 gRPC 和 Arrow 的协议将客户端与 Spark 服务器分离,在 4.2 中获得了多项更新。关键思路是客户端构建逻辑计划,服务器处理分析、优化和执行,结果以 Arrow 批次返回。客户端无需完整的 Spark 运行时或同地 JVM。本次更新改进了 RDD API 兼容性、错误处理和状态报告。AI 应用可以向远程 Spark 集群发送处理请求,而工作继续在 Spark 内部运行。

流处理驱动实时 AI:Spark 4.2 的流处理获得了自动 CDC 和实时模式等更新。许多 AI 应用依赖持续更新的数据而非定期批处理作业。自动 CDC 为 Spark 声明式管道引入了一流变更数据捕获功能,处理合并逻辑以保持目标表随源数据变化而更新,这之前需要手动编写易错代码。新的 CHANGES SQL 子句允许团队通过单一 SQL 接口检索数据变更。此外,Spark 4.2 还内置了 GEOMETRY 和 GEOGRAPHY 类型以及 ST_* 函数,用于位置感知分析,无需外部空间扩展。对于处理位置数据的团队(物流、房地产、物联网),这消除了将数据移出 Spark 的又一理由。

更大图景:Spark 4.2 将更多 AI 和数据栈功能纳入平台本身。过去依赖独立工具的特性现在可以直接在 Spark 中处理。对于目前使用 Spark 进行 ETL、然后将数据交给其他系统进行检索、治理或实时处理的团队,此次发布开始模糊这一界限。随着更多 AI 应用直接运行在操作数据上,Spark 正在成为服务层的一部分,而不仅仅是准备数据。