Apache Spark 4.2:讓數據對AI開發者更友好
Apache Spark 4.2版本發佈,重點轉向AI原生數據平台,引入了度量視圖、原生向量搜索、實時Python流處理、地理空間支持等特性,旨在簡化AI開發者的特徵工程、實時信號處理和嵌入工作流。
Apache Spark 4.2 已經發布,這不僅僅是一次例行更新。它清晰地表明,該項目背後的商業支持者現在將 Spark 視為 AI 原生數據平台的核心,而非通用的大數據工具。對於正在與特徵管道、嵌入、實時信號和數據治理作鬥爭的 AI 開發者來説,此版本直擊痛點。
Spark 最初設計於2009年,旨在改進 Hadoop MapReduce 用於大規模數據處理。但隨着機器學習和交互式查詢需求的出現,Spark 的彈性分佈式數據集(RDD)和內存處理能力使其脱穎而出。多年來,Spark 一直是批處理分析和流處理管道的支柱,而 AI 功能大多是在邊緣拼接的。
現在,4.2 版本使 Spark 全面擁抱 AI。新功能包括度量視圖、原生向量搜索和實時 Python 流處理,使 Spark 成為統一處理傳統任務和現代 AI 應用的引擎。度量視圖作為 Spark SQL 中的一等語義層,允許工程師一次性定義度量作為目錄對象,並在各處重用。對於 AI 開發者,這減少了計算特徵和指標時的細微錯誤,併為基於 LLM 的系統提供了一致、可治理的數據基礎。
對許多 AI 開發者而言,最引人注目的變化是 Spark 4.2 對向量相似性負載的原生支持。Spark 現在內置了向量距離和相似性函數,以及用於 top-K 相似性連接的 NEAREST BY 運算符。開發者可以在 Spark 中計算嵌入,將其與其他結構化數據一起存儲,並運行相似性查詢,而無需將數據移動到專用向量數據庫。雖然它不會完全取代專門的向量數據庫,但對於許多以數據湖倉為中心的工作負載,這大大降低了構建基於檢索的 AI 系統的門檻。
另一個重要的增強是地理空間支持。Spark 4.2 引入了原生 GEOMETRY 和 GEOGRAPHY 類型,以及一組 ST_* 函數用於距離、包含和空間連接等操作。位置智能正越來越多地用於 AI 用例,從旅行商問題到位置感知推薦和欺詐檢測。將地理空間作為一等列類型,AI 開發者可以將其視為其他數據一樣處理,並使用已有的 Spark 工作流進行連接、聚合和模型輸入。
在開發者體驗方面,Spark 4.2 為 AI Python 程序員帶來了顯著提升。Arrow 優化執行現在是 PySpark 用户定義函數的默認路徑,無需更改現有代碼即可實現更快的列式處理。同時支持現代 pandas 並通過 Arrow C 數據接口實現與 Polars 和 DuckDB 等工具的零拷貝數據交換。對於 AI 開發者,這在筆記本驅動的工作流和混合棧中特別有吸引力。
Spark 4.2 還為 PySpark 帶來了實時模式,使得毫秒級無狀態流處理對 Python 開發者可用。這為構建高吞吐量、低延遲的特徵管道打開了大門,允許開發者使用與模型開發相同的語言進行原型設計和部署。
在幕後,Spark 4.2 還加強了 AI 工作負載所依賴的數據工程基礎。自動變更數據捕獲(Auto CDC)和增強的 CHANGES 子句使得維護乾淨、增量式的數據視圖更加容易,減少了手工編碼的 MERGE 邏輯和臨時 ETL 工作。對於 AI 開發者,儘管這些工作不引人注目,但卻是必要的,因為模型會在底層數據管道脆弱時退化。
總的來説,Apache Spark 4.2 對 AI 程序員來説比以往任何時候都更有用。嵌入、地理空間數據、實時信號、語義指標和以 Python 為中心的工作流不再是二等公民,而是一等設計元素。