北京軟件開發公司Apache Spark 2.0技術預覽版,Apache Spark第一版發布時隔兩年後,Databricks公布瞭基於上遊分支2.0.0-preview的Apache Spark 2.0技術預覽版。該預覽版在穩定性和API方面均不适合用於生産環境,主要是爲瞭在正式上市前收集來及社區的反饋。
此次發布的新版主要針對(duì)社區反饋進一步完善瞭(le)各種功能,根據Spark的開發計劃,主要改進分爲兩方面。
SQL是基於(yú)Apache Spark的應用程序較常用的接口之一。Spark 2.0可以支持全部的99個TPC-DS查詢,這些查詢大部分都基於(yú)SQL:2003規範。這些改進有助於(yú)在對(duì)應用程序堆棧進行較少量重寫的情況下将現有數據負載移植至Spark後端。
第二方面改進主要是編程API,同時在這個新版中也更重視機器學習。spark.mllib程序包已經被全新的spark.ml程序包所取代,後者更加側重於(yú)基於(yú)管線的API,這項技術源自DataFrames。機器學習管線和模型現已能夠持久保存,Spark所支持的所有語言均支持這一特性。同時R已經可以支持K-Means、Generalized Linear Models(GLM)、樸素貝(bèi)葉斯和Survival Regression。
借助新增的Datasets類,DataFrames和Datasets已實現瞭(le)統一,可支持Scala和Java編(biān)程語言,同時也可充當結構流(Structured streaming)的抽象。不支持編(biān)譯時類型安全(Compile time type safety)的語言暫時還無法做到這一點,此時隻能使用DataFrames作爲主要抽象。SQLContext和HiveContext已被統一的SparkSession所取代。新增的Accumulator API具有比基本類型更簡單的類型層級,可支持對基本類型進行專門化(Specialization)。老的API已被棄用,但爲瞭(le)實現向後兼容性依然包含在新版中。
新發布的結構化流API主要可用於(yú)在不增加複雜性的前提下管理流數據集,借此程序員和現有機器學習算法将可以處理批量加載的數據集。在第二代Tungsten引擎的幫(bāng)助下,性能也有所增強,執行速度較高可提升10倍。
該(gāi)技術預覽版已經發(fā)布至DataBricks。