圖片來源: 

Databricks

自Spark 1.0推出時隔兩年,Spark技術商Databricks日前釋出Spark 2.0技術預覽版,並在Databricks的雲端大資料平臺Databricks Community Edition提供使用者下載。Databricks共同創辦人Reynold Xin在官方部落格表示,Apache官方的Spark 2.0要在數周後才會釋出,而Databricks推出的技術預覽版是以上游程式庫(Codebase)為基礎,提供使用者可以搶先使用Spark 2.0的功能。

新版Spark仍維持它的傳統,聚焦於兩個領域,包含標準SQL支援,以及統一資料框架(DataFrame)和資料集(Dataset)API。Spark 2.0在SQL方面,採用ANSI SQL解析器(Parser),以及支援子查詢,來提升Spark的SQL能力,Databricks表示,因為SQL是Spark主要使用介面之一,新版Spark所擴展的SQL功能可以大幅降低舊有應用程式遷移至Spark平臺的工作。

在API方面,新版Spark除了統一Scala和Java語言的DataFrame與Dataset API外,也提供了新的入口點(Entry Point)SparkSession,而SparkSession包含了SQLContext和HiveContext,以降低DataFrame API使用者在選擇入口點時的困惑。

另外,Spark 2.0還更新了累加器API(Accumulator API),以及新增以資料框架為基礎的機器學習API(DataFrame-Based Machine Learning API),而新版Spark也允許使用者可以在跨Spark所支援的程式設計語言中,儲存和下載機器學習工作流程(Pipeline)和模型。此外,在R語言中,也新增支援廣義線性模型(Generalized Linear Model)、單純貝氏(Naive Bayes)、存活迴歸(Survival Regression)以及K-Means等分群演算法。

在效能方面,Spark 2.0採用了以現代編譯器(Compiler)和大規模平行處理(MPP)資料庫為基礎的第二代Tungsten引擎,以及加強SQL函數式關係查詢優化框架Catalyst,來提升Spark資料處理的效能。

另外,Spark 2.0也延伸了DataFrame與Dataset API,提供使用者結構化串流API(Structured Streaming API)來處理串流資料,其關鍵功能包含支援以事件和時間為基礎的資料處理、亂序資料(Out-Of-Order Data)、延遲資料(Delayed Data)、Sessionization、非串流資料來源等。


Advertisement

更多 iThome相關內容