第壹階段:熟練掌握Scala語言
1,spark框架是采用scala語言寫的,精致優雅。想要成為spark高手,妳就必須閱讀spark源碼,就必須掌握scala。?
2,雖然現在的spark可以使用多種語言開發,java,python,但是最快速和支持最好的API依然並將永遠是Scala的API,所以必須掌握scala來編寫復雜的和高性能的spark分布式程序。?
3尤其是熟練掌握Scala的trait,apply,函數式編程,泛型,逆變,與協變等。
第二階段:精通spark平臺本身提供給開發折的API
1,掌握spark中面向RDD的開發模式,掌握各種transformation和action函數的使用。?
2,掌握Spark中的款依賴和窄依賴,lineage機制。?
3,掌握RDD的計算流程,如Stage的劃分,spark應用程序提交給集群的基礎過程和Work節點基礎的工作原理。
第三階段:深入Spark內核
此階段主要是通過Spark框架的源碼研讀來深入Spark內核部分:?
1,通過源碼掌握Spark的任務提交,?
2,通過源碼掌握Spark的集群的任務調度,?
3,尤其要精通DAGScheduler,TaskScheduler和Worker節點內部的工作的每壹步細節。
第四階段:掌握Spark上的核心框架的使用
Spark作為雲計算大數據時代的集大成者,在實時流式處理,圖技術,機器學習,nosql查詢等方面具有明顯的優勢,我們使用Spark的時候大部分時間都是在使用其框架:?
sparksql,spark streaming等?
1,spark streaming是出色的實時流失處理框架,要掌握,DStream,transformation和checkpoint等。?
2,spark sql是離線統計分析工具,shark已經沒落。?
3,對於spark中的機器學習和Graphx等要掌握其原理和用法。
第五階段:做商業級的spark項目
通過壹個完整的具有代表性的spark項目來貫穿spark的方方面面,包括項目的框架設計,用到的技術的剖析,開始實現,運維等,完善掌握其中的每壹個階段和細節,以後妳就可以從容的面對絕大多數spark項目。
第六階段:提供spark解決方案
1,徹底掌握spark框架源碼的每壹個細節,?
2,根據步同的業務場景的需要提供spark在不同場景的解決方案,?
3,根據實際需要,在spark框架基礎上經行2次開發,打造自己的spark框架。