Apache Spark 4.2 上周发布,这一版本标志着 Spark 在企业数据处理核心地位的进一步扩展,延续了其十多年来的角色。
凭借面向 AI 工作负载的新功能,包括受治理指标、向量检索原语、实时处理、改进的 Python 支持以及原生地理空间分析,Spark 4.2 延续了近期在 AI 和流处理功能上的发展,反映了众多工程团队如今使用该平台的方式。该版本在 Spark 作为传统数据处理引擎的角色基础上,增加了更多支持生产级 AI 应用所需的能力。
此次发布引入了多项功能,使开发者无需离开平台即可完成更多工作。对于已经在使用 Spark 的团队来说,这可能意味着需要管理的系统更少。
受治理指标可防止冲突
一个团队对业务指标的定义并不总是与其他团队一致。随着时间推移,这些差异可能导致报告冲突,并让人不确定该信任哪个数值。
当 AI 应用开始使用分析师和商业智能工具所使用的同一企业数据时,这一问题会变得更加严重。如果不同团队对同一指标定义不同,AI 系统可能会对同一问题产生不一致的结果。
Spark 4.2 引入了受治理指标视图来解决这一问题。组织可以定义一次业务指标,并在各应用中复用该定义。指标视图将维度和度量作为 Spark 理解的一等对象,因此无论谁或什么系统在查询,引擎都能保留预期的聚合语义。
组织可以定义一次业务指标,并在各应用中复用该定义。
向量搜索原生化
更重要的新增功能之一是原生向量搜索,它减少了在 Spark 与单独的向量数据库之间移动数据的必要性。
Spark 4.2 引入了向量距离和相似度函数、向量归一化、向量聚合,以及用于 top-K 相似度搜索的新 SQL 运算符 NEAREST BY。通过将向量搜索引入 Spark,开发者可以将更多检索流程保留在同一平台上。
通过将向量搜索引入 Spark,开发者可以将更多检索流程保留在同一平台上。
Python 互操作性更便捷
Spark 4.2 使 Spark 与 Arrow 原生工具之间的数据移动更加容易。通过支持 Arrow C Data Interface 和 PyCapsule 协议,只要双方都支持这些标准,Spark DataFrame 就可以直接传递给 Polars 和 DuckDB 等工具,而无需复制或序列化底层数据。
Python 还获得了一些其他更新。PySpark 已得到扩展;Arrow 优化的 UDF 执行现已成为默认设置,Python Data Sources 现在还包含内置的时间和内存分析功能,以帮助开发者排查自定义连接器的问题。
Spark Connect 使引擎可被代理调用
Spark Connect 通过基于 gRPC 和 Arrow 的协议将客户端与 Spark 服务器分离,在 4.2 版本中收到多项更新。其核心思想是:客户端构建逻辑计划,服务器负责分析、优化和执行,结果以 Arrow 批次返回。客户端无需完整的 Spark 运行时或共置的 JVM。
此次更新包含对 Spark Connect(该项目的客户端-服务器接口)的多项改动。AI 应用可以向远程 Spark 集群发送处理请求,而工作继续在 Spark 内部运行。该版本改进了沿该路径的 RDD API 兼容性、错误处理和状态报告。
流处理为实时 AI 提供动力
Spark 4.2 对流处理进行了多项更新,包括 Auto CDC 和 Real-Time Mode。许多 AI 应用依赖持续更新的数据,而非定期的批处理作业。Auto CDC 为 Spark Declarative Pipelines 带来了第一类变更数据捕获功能,处理保持目标表与源数据变化同步所需的合并逻辑——这之前需要手写易出错的代码。新的 CHANGES SQL 子句允许团队通过单一 SQL 接口检索数据变更。
Spark 4.2 还新增了内置的 GEOMETRY 和 GEOGRAPHY 类型,以及用于位置感知分析的 ST_* 函数,无需外部空间扩展。对于处理位置数据的团队——物流、房地产、物联网——这消除了将数据移出 Spark 的另一个理由。
更宏观的图景
Spark 4.2 将更多 AI 和数据栈功能纳入平台本身。曾经依赖单独工具的功能现在可以直接在 Spark 中处理。
对于目前使用 Spark 进行 ETL、然后将数据交给其他系统进行检索、治理或实时处理的团队,此次发布开始模糊这一界限。随着更多 AI 应用直接在运营数据上运行,Spark 正在成为服务层的一部分,而不仅仅是为服务层准备数据。
Spark 正在成为服务层的一部分,而不仅仅是为服务层准备数据。
技术发展迅速,不要错过任何一集。订阅我们的 YouTube 频道,观看我们所有的播客、访谈、演示等更多内容。
Group Created with Sketch.
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.