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