跳轉到主要內容
工程的博客

宣布Apache火花1.6

分享這篇文章

了解更多關於Apache火花,出席火花峰會於2016年2月在紐約東部


今天我們很高興地宣布Apache火花1.6的可用性!在這個版本中,引發了社區發展的一個重要裏程碑:貢獻代碼引發的人數已經跨越了1000年,500年翻倍數量我們看到在2014年底。

Apache火花貢獻者的數量自2014年以來翻了一番。

所以,新火花1.6是什麼?火花1.6包含超過1000個補丁。在這篇文章中,我們強調三大發展主題:性能改進,新的數據集API,數據科學功能的擴張。

性能改進

根據我們的2015火花的調查,91%的用戶認為火花的性能是最重要的方麵。因此,性能優化一直專注在我們的火花的發展。

鑲木地板性能:拚花是最常用的數據格式與火花,和拚花掃描性能在許多大型應用程序有相當大的影響。在過去,火花的拚花讀者依靠parquet-mr讀取和解碼鑲花的文件。我們分析引發應用程序時,往往許多周期是在“記錄大會”,這一過程可以記錄鋪列。1.6在火花。我們引入一個新鋪的讀者,繞過parquert-mr創紀錄的組裝和使用更多的平麵模式優化的代碼路徑。在我們的基準,這個新讀者增加了掃描吞吐量從290萬行5列每秒每秒450萬行,近50%的改善!

自動內存管理1.6:另一個領域的性能收益火花來自更好的內存管理。之前1.6火花,火花靜態可用內存分為兩個區域:執行內存和緩存內存。執行內存區域,用於排序、散列和洗牌,而緩存內存用於緩存數據。火花1.6引入了一個新的內存管理器自動音樂不同的內存區域的大小。運行時自動增長和縮小地區根據執行應用程序的需求。對於許多應用程序,這將意味著一個顯著增加可用內存,可以用於連接和聚合等運營商,沒有任何用戶調優。

雖然上述兩個改進應用透明沒有任何應用程序代碼更改,以下改進新的API的一個例子,使更好的性能。

10倍加速流狀態管理:狀態管理是一個重要的功能在流媒體應用中,經常用於維護聚合或會話信息。處理過很多用戶,我們重新設計了狀態管理API引發流,還引入了一個新的mapWithState API更新的數量線性擴展,而不是記錄的總數。也就是說,它有一個高效的實現跟蹤“三角洲”,而不是總是需要完整的掃描數據。這導致了在許多工作負載性能提高一個數量級。

數據集的API

我們介紹了DataFrames今年早些時候,提供高級功能,允許火花更好地理解數據結構以及所執行的計算。這使的額外信息催化劑優化器鎢執行引擎自動加速現實世界的大數據分析。

因為我們DataFrames發布,我們得到很多反饋,其中最主要的是缺乏支持的編譯時類型安全。為了解決這個問題,我們引入一個類型擴展DataFrame API的調用數據集

數據集API擴展DataFrame API支持靜態類型和用戶直接在現有運行Scala的函數或Java類型。相比與傳統的抽樣API,數據集提供更好的內存管理以及長期的更好的性能。

請參考博文引入火花數據集

新數據科學的功能

機器學習管道持久性:很多機器學習應用程序利用火花的ML管道特性構建學習管道。在過去,如果應用程序想要將管道外部存儲,它需要實現自定義持久性代碼。在火花1.6中,管道API提供了功能保存並重新加載管道從先前的狀態和應用模型構建之前的新數據。例如,用戶可以訓練一條輸油管道在夜間工作,然後將它應用到生產數據在生產工作。

新的算法和功能:這個版本還增加覆蓋率機器學習算法,包括:

  • 單變量、雙變量統計
  • 生存分析
  • 普通最小二乘方程
  • 角平分線k - means聚類
  • 在線假設檢驗
  • 在ML管道潛在狄利克雷分配(LDA)
  • 類似的統計數據的漠視
  • 功能交互R公式
  • 實例權重的漠視
  • 在DataFrames單變量、雙變量統計
  • LIBSVM數據源
  • 非標準JSON數據

這篇文章隻涵蓋在此版本的一些主要特性。我們也收集了更詳細的發布說明以及工作的例子

我們將發布更多細節在未來幾周這些新特性。請繼續關注磚的博客來了解更多關於火花1.6。如果你想嚐試這些新特性,你已經可以使用火花1.6磚,與老版本的火花。注冊一個免費試用帳戶在這裏

火花的成功不會有貢獻者迄今為止,1000是不可能的,我們想借此機會感謝他們所有人。

免費試著磚
看到所有工程的博客的帖子
Baidu
map