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 正在成為服務層的一部分,而不僅僅是準備數據。