開源叢集計算環境:Spark 1.1.0釋出

TP_funny發表於2014-09-17
近日,Spark開發團隊宣佈開源叢集計算環境Spark 1.1.0釋出,該版本是Spark1.X系列版本的第二個API相容版本,它是目前改變最大的一個版本,具有171個開發者。該版本帶來了一些操作性和效能的提升,主要體現在核心模組上,擴充套件了Spark的一些最新模組(MLlib 和Spark SQL)的功能;該版本開始支援 Python,併為Sparkstreaming模組增加了新的元件,該版本主要的改進如下:

1、效能和可用性方面的改進
Spark1.1.0在穩定性和效能方面做了大量改進,併為大規模的負載任務提供了新功能。當記憶體不足時,Spark可以做到將整個快取塊重新整理到磁碟中,以防止記憶體溢位;Spark引入了新的演算法的實現,優化了大規模計算,還改進了複雜的、耗時的任務的監控可用性,做到了Accumulator內容可以在Spark的Web頁面中顯示、任務處理進度的動態更新、讀取輸入資料的任務進度報告。

2、Spark SQL
Spark SQL新增了許多新功能,還進行了許多優化,從而效能也得到了大大的提高。新增的JDBC/ODBC server使得使用者能夠從很多不同的應用連線到SparkSQL,並且還提供了共享訪問快取的功能;新增了將JSON資料直接載入成Spark的SchemaRDD格式的功能模組;新增動態位元組碼生成的功能,能夠顯著的加快複雜表示式求值的查詢;新增了將Python、Java、Scala和Java lambda函式註冊為UDF的功能,從而做到在SQL中直接呼叫;新增了一個公共API使得使用者能夠使用自定義的資料來源建立SchemaRDD。

3、MLlib
MLlib 新增了很多演算法,並對一些舊演算法進行了優化,使得它們的效能得到了大大提高。新增一個用作統計功能的功能包,提供了試探性統計功能;新增了特徵抽取工具(Word2VecTF-IDF)和特徵轉換工具(標準化和標準度量);使用Lanczos演算法做到了對非負矩陣分解(Non-negative matrix factorization)和可縮放向量圖形(SVG)的支援;新增Python和Java的決策樹演算法API。

4、GraphX和Spark Streaming
Spark Streaming新增了Amazon Kinesis資料來源;新增了一個可以從Apache Flume拉取資料的模式,簡化了部署和提高了高可用性;一組基於流的機器學習演算法首先引入基於流的線性迴歸;Spark Streaming做到了接收資料速率的控制;GraphX為圖的頂點和邊新增了自定義儲存級別,並提高了數值計算的精度;GraphX還新增了一個標籤傳播演算法。

5、其他值得關注的改進
PySpark 能夠讀取和寫入任意的Hadoop InputFormats,包括SequenceFiles、 HBase、 Cassandra、Avro以及其他資料來源;在Spark的UI介面上能夠進行階段性的提交;Spark為所有的網路埠實行嚴格的防火牆規則 ;GraphX中的一個溢位Bug得以修復,該Bug影響了超過4億個頂點的圖。

另外,Spark 1.1.0現已提供下載,更多相關資訊請檢視Release Notes。Spark由加州大學伯克利分校AMP實驗室基於Scala開發,可用來構建大型的、低延遲的資料分析應用程式。Spark是一種與Hadoop相似的開源叢集計算環境,但是兩者之間還存在一些不同之處,主要體現在Spark啟用了記憶體分佈資料集,使Spark 在某些工作負載方面表現得非常優越。儘管建立Spark是為了支援分散式資料集上的迭代作業,但是實際上它是對 Hadoop 的補充,可以在 Hadoop檔案系統中並行執行。
來自:infoQ
相關閱讀
評論(2)

相關文章