首頁 > 新聞 > 專家觀點 >

Spark成云計算大數(shù)據(jù)時代的集大成者

2014-12-01 11:33:40   作者:   來源:比特網(wǎng)通信   評論:0  點擊:


  Spark是發(fā)源于美國加州大學伯克利分校AMPLab的集群計算平臺,它立足于內(nèi)存計算,性能超過Hadoop百倍,從多迭代批量處理出發(fā),兼收并蓄數(shù)據(jù)倉庫、流處理和圖計算等多種計算范式,是罕見的全能選手。Spark采用一個統(tǒng)一的技術堆棧解決了云計算大數(shù)據(jù)的如流處理、圖技術、機器學習、NoSQL查詢等方面的所有核心問題,具有完善的生態(tài)系統(tǒng),這直接奠定了其一統(tǒng)云計算大數(shù)據(jù)領域的霸主地位。

  伴隨Spark技術的普及推廣,對專業(yè)人才的需求日益增加。Spark專業(yè)人才在未來也是炙手可熱,輕而易舉可以拿到百萬的薪酬。而要想成為Spark高手,也需要一招一式,從內(nèi)功練起:通常來講需要經(jīng)歷以下階段:

  第一階段:熟練的掌握Scala語言

  Spark框架是采用Scala語言編寫的,精致而優(yōu)雅。要想成為Spark高手,你就必須閱讀Spark的源代碼,就必須掌握Scala,;
  雖然說現(xiàn)在的Spark可以采用多語言Java、Python等進行應用程序開發(fā),但是最快速的和支持最好的開發(fā)API依然并將永遠是Scala方式的API,所以你必須掌握Scala來編寫復雜的和高性能的Spark分布式程序;
  尤其要熟練掌握Scala的trait、apply、函數(shù)式編程、泛型、逆變與協(xié)變等;

  第二階段:精通Spark平臺本身提供給開發(fā)者API

  掌握Spark中面向RDD的開發(fā)模式,掌握各種transformation和action函數(shù)的使用;
  掌握Spark中的寬依賴和窄依賴以及l(fā)ineage機制;
  掌握RDD的計算流程,例如Stage的劃分、Spark應用程序提交給集群的基本過程和Worker節(jié)點基礎的工作原理等

  第三階段:深入Spark內(nèi)核

  此階段主要是通過Spark框架的源碼研讀來深入Spark內(nèi)核部分:

  通過源碼掌握Spark的任務提交過程;
  通過源碼掌握Spark集群的任務調(diào)度;
  尤其要精通DAGScheduler、TaskScheduler和Worker節(jié)點內(nèi)部的工作的每一步的細節(jié);

  第四階級:掌握基于Spark上的核心框架的使用

  Spark作為云計算大數(shù)據(jù)時代的集大成者,在實時流處理、圖技術、機器學習、NoSQL查詢等方面具有顯著的優(yōu)勢,我們使用Spark的時候大部分時間都是在使用其上的框架例如Shark、Spark Streaming等;
  Spark Streaming是非常出色的實時流處理框架,要掌握其DStream、transformation和checkpoint等;
  Spark的離線統(tǒng)計分析功能,Spark 1.0.0版本在Shark的基礎上推出了Spark SQL,離線統(tǒng)計分析的功能的效率有顯著的提升,需要重點掌握;
  對于Spark的機器學習和GraphX等要掌握其原理和用法;

  第五階級:做商業(yè)級別的Spark項目

  通過一個完整的具有代表性的Spark項目來貫穿Spark的方方面面,包括項目的架構(gòu)設計、用到的技術的剖析、開發(fā)實現(xiàn)、運維等,完整掌握其中的每一個階段和細節(jié),這樣就可以讓您以后可以從容面對絕大多數(shù)Spark項目。

  第六階級:提供Spark解決方案

  徹底掌握Spark框架源碼的每一個細節(jié);
  根據(jù)不同的業(yè)務場景的需要提供Spark在不同場景的下的解決方案;
  根據(jù)實際需要,在Spark框架基礎上進行二次開發(fā),打造自己的Spark框架;

  前面所述的成為Spark高手的六個階段中的第一和第二個階段可以通過自學逐步完成,隨后的三個階段最好是由高手或者專家的指引下一步步完成,最后一個階段,基本上就是到"無招勝有招"的時期,很多東西要用心領悟才能完成。

  針對Spark人員的培養(yǎng),目前國內(nèi)的專業(yè)機構(gòu),大多還是在Android和Hadoop方向上提供相關的課程及訓練。Spark亞太研究院,作為國內(nèi)首家Spark技術研究及推廣機構(gòu),在幫助企業(yè)規(guī)劃、部署、開發(fā)、培訓和使用Spark為核心,同時提供Spark源碼研究和應用技術訓練。在完成了對Spark源碼的徹底研究的同時不斷在實際環(huán)境中使用Spark的各種特性的基礎之上,Spark亞太研究院推出了國內(nèi)首個Spark訓練體系:《18小時內(nèi)掌握Spark》、《Spark企業(yè)級開發(fā)最佳實踐》、《精通Spark:Spark內(nèi)核剖析、源碼解讀、性能優(yōu)化和商業(yè)案例實戰(zhàn)》、《Spark 1.0.0企業(yè)級開發(fā)動手》、《Spark架構(gòu)案例鑒賞》、《精通Spark的開發(fā)語言:Scala最佳實踐》, 幫助學習者,通過上述幾個階段的培養(yǎng),逐步精通spark技術。

分享到: 收藏

專題