最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

What’snewinSpark1.2.0

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 15:25:18
文檔

What’snewinSpark1.2.0

WhatsnewinSpark1.2.0:1.2.0 was released on 12/18, 2014 在2014年5月30日發(fā)布了Spark 1.0 和9月11日發(fā)布了Spark1.1.后,Spark 1.2 終于在12月18日發(fā)布。作為1.X時代的第三個release,它有什么重要更新呢? 1.Spark Core:性能和易用性的改進 對于超大規(guī)模的Shu
推薦度:
導讀WhatsnewinSpark1.2.0:1.2.0 was released on 12/18, 2014 在2014年5月30日發(fā)布了Spark 1.0 和9月11日發(fā)布了Spark1.1.后,Spark 1.2 終于在12月18日發(fā)布。作為1.X時代的第三個release,它有什么重要更新呢? 1.Spark Core:性能和易用性的改進 對于超大規(guī)模的Shu

1.2.0 was released on 12/18, 2014 在2014年5月30日發(fā)布了Spark 1.0 和9月11日發(fā)布了Spark1.1.后,Spark 1.2 終于在12月18日發(fā)布。作為1.X時代的第三個release,它有什么重要更新呢? 1.Spark Core:性能和易用性的改進 對于超大規(guī)模的Shuffle,Spark Core

1.2.0 was released on 12/18, 2014

在2014年5月30日發(fā)布了Spark 1.0 和9月11日發(fā)布了Spark1.1.后,Spark 1.2 終于在12月18日發(fā)布。作為1.X時代的第三個release,它有什么重要更新呢?

1. Spark Core:性能和易用性的改進

對于超大規(guī)模的Shuffle,Spark Core在性能和穩(wěn)定性方面做了兩個重要的更新:

一) Communication Manager使用Netty實現(xiàn)

在1.1 之前,對于Shuffle的結(jié)果回傳,有兩種方式,對于較小的結(jié)果,直接使用akka的消息傳遞機制;對于較大的結(jié)果,則采用BlockManager。采用BlockManager是不錯的設(shè)計,可以避免Driver占用過多的內(nèi)存而OOM并且減少了GC的風險。但是,BlockManger的處理是低效的:它先從Disk中將結(jié)果讀取到kernel的buffer,然后到用戶空間的buffer,然后又到了kernel的send buffer,這期間有多次的內(nèi)存拷貝和kernel space到user space的切換代價。著不單單是占用了JVM的不必要的內(nèi)存,而且還增加了GC的頻率。不過,使用FileChannel.transferTo,可以做到zero copy。具體可見http://www.ibm.com/developerworks/library/j-zerocopy/

其中一種實現(xiàn)就是Netty,1.2中,使用Netty 重寫了Communication Manager。實際上,在org.apache.spark.network.netty中已經(jīng)實現(xiàn)了netty得網(wǎng)絡(luò)模塊,但是由于不完善而這個選項默認是沒有打開的。

而且,使用Netty已經(jīng)是默認的了。spark.shuffle.blockTransferService 已經(jīng)從1.1的nio變成1.2 中新增的netty了。關(guān)于這個PR的詳情可見 https://issues.apache.org/jira/browse/SPARK-2468

二) Shuffle的默認機制從hashbased 轉(zhuǎn)化為sort based

MapReduce被人詬病之一就是不管sort是否必要,都需要排序。Spark在1.1之前,都是hash based Shuffle。但是hash based會占用大量的內(nèi)存,當然了在內(nèi)存不夠用時,也會spill到disk,然后最后再做一次merge。對于比較大的數(shù)據(jù)集,因為有disk IO,因此性能也會有所下降。Shuffle的性能的好壞可以說直接影響整個job的性能也不為過。在1.1的時候,引入了sort based shuffle。在1.2的時候,這個已經(jīng)能夠成熟并且成為默認的選項:

spark.shuffle.manager 從hash 變?yōu)閟ort。

并且從作者Reynold Xin的測試來看,sort 在速度和內(nèi)存使用方面優(yōu)于hash:“sort-based shuffle has lower memory usage and seems to outperformhash-based in almost all of our testing.”

2. MLlib: 擴充了Python API

3. Spark Streaming:實現(xiàn)了基于WriteAhead Log(WAL)的HA,避免因為Driver異常退出導致的數(shù)據(jù)丟失

4. GraphX: 性能和API的改進(alpha)

Spark 1.2 是來自60多家企業(yè),學校等研究機構(gòu)的172位貢獻者的一次重要發(fā)布。從Contributor的數(shù)量看,Spark社區(qū)依然是最活躍的開源社區(qū)之一。

從Spark的歷次更新都可以看出,快速迭代是互聯(lián)網(wǎng)的王道。Spark發(fā)展到現(xiàn)在,雖然依然有這樣的那樣的問題,但是依靠不斷的迭代,各大廠商的支持和各位contributor的不斷付出,相信社區(qū)會持續(xù)快速發(fā)展。雖然商業(yè)軟件可能幾年前就已經(jīng)解決了這些問題,商業(yè)軟件可能在某個應(yīng)用場景已經(jīng)有了最佳的實現(xiàn)。但是互聯(lián)網(wǎng)的稟賦就在于不求最優(yōu),只求合適。而且對于各個中小型的互聯(lián)網(wǎng)公司來說,場景不斷在變,需要一個自己可以掌控的架構(gòu),隨著自身的發(fā)展不斷的在這個架構(gòu)上做快速的迭代。而Spark,或許就是這個適合大家的架構(gòu)。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

What’snewinSpark1.2.0

WhatsnewinSpark1.2.0:1.2.0 was released on 12/18, 2014 在2014年5月30日發(fā)布了Spark 1.0 和9月11日發(fā)布了Spark1.1.后,Spark 1.2 終于在12月18日發(fā)布。作為1.X時代的第三個release,它有什么重要更新呢? 1.Spark Core:性能和易用性的改進 對于超大規(guī)模的Shu
推薦度:
標簽: Windows new what
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top