Apache Spark 4.2 正式發佈:AI 原生分析與數據治理的里程碑
Apache Spark 4.2 將現代數據與 AI 棧的核心能力內嵌至引擎,引入度量視圖、向量檢索、Arrow 優先的 Python 執行、自動變更數據捕獲 (CDC) 及實時流處理等特性,進一步強化 Spark 作為統一分析引擎的地位。
Apache Spark 4.2 正式發佈,將更多現代數據與人工智能棧的核心能力直接內嵌至引擎中。該版本建立在 Spark 4.x 的基礎上,新增了受治理的度量、向量與 Top-K 原語、更 Arrow 優先的 Python 路徑、一流的變更數據捕獲以及更強的流處理與運維基礎。
這些改進使 Spark 在 AI 應用的兩側都更加有用:一方面提高了供給 AI 代理的數據質量與新鮮度,另一方面使應用和代理能夠更輕鬆地將 Spark 作為遠程執行服務調用。具體而言,Spark 4.2 提供了可信的語義、原生檢索原語、新鮮的變更數據以及面向 Spark 規模計算的開源接口。
Spark 4.2 的核心收益可歸納為四個方面:
一次定義,到處使用:度量視圖將受治理的業務指標引入 Spark,使 SQL、BI 工具、應用及 AI 系統能夠使用相同的定義。許多重要指標並非安全可加,例如比率、去重計數、留存率等,當每個使用者以不同粒度重寫公式時,容易產生錯誤結果。度量視圖將維度和度量作為 Spark 理解的一等對象,引擎能夠保留預期的聚合語義。
隨時隨地調用 Spark:Spark Connect、PySpark、Arrow 及 Python 數據源改進使得 Spark 更易從服務和 Python 生態系統中調用。Spark Connect 通過基於 gRPC 和 Arrow 的協議將客户端與服務器分離,客户端無需完整 Spark 運行時即可構建邏輯計劃並獲取結果。Spark 4.2 進一步縮小了與 Spark Classic 的兼容性差距,包括更好的 RDD API 兼容性、DataFrame 輸入支持、可調試性改進、錯誤傳播、狀態報告以及 YARN 集羣模式支持。
在 SQL 中運行 AI 原生分析:新增向量距離與相似度函數、向量歸一化、向量聚合以及 NEAREST BY(一種基於距離匹配的 Top-K 排序連接),支持檢索、推薦、實體解析及候選生成等場景。內置 GEOMETRY 和 GEOGRAPHY 類型及 ST_* 函數,無需外部空間擴展即可實現位置感知分析。此外,還增加了完全限定的內置函數 (SYSTEM.BUILTIN) 和臨時視圖 (SYSTEM.SESSION)、SQL 搜索路徑 (SET PATH)、游標支持 (DECLARE/OPEN/FETCH/CLOSE)、Tuple 草圖、time_bucket 時間序列分析、QUALIFY 窗口過濾、Top-K 聚合 (max_by/min_by) 以及 IGNORE NULLS 等特性。
安全處理變化的數據:Spark 聲明式管道 (SDP) 引入了 Auto CDC 支持,提供 Python API 將 CDC 變更應用於 SCD Type 1 目標表,自動處理刪除和亂序事件。實時模式 (Real-Time Mode) 擴展至 PySpark,支持無狀態流查詢實現毫秒級端到端延遲。未來 Spark 4.x 版本將增加有狀態支持,包括新的流式 shuffle、併發階段調度以及狀態算子支持。Data Source V2 (DSv2) 進一步演進,新增一等 CDC 支持、CHANGES SQL 子句、行級 DML、模式演進化、事務 API 基礎以及存儲分區連接優化等功能。
概而言之,Spark 4.2 幫助組織使用一個開源引擎來完成數據準備、業務含義定義、相關上下文檢索以及保持分析與 AI 應用的最新狀態。這些改進使 Spark 在 AI 時代的角色更加重要,為數據與 AI 工作負載提供了統一、可擴展且開放的基礎。