如何成爲雲計算大數據Spark高手

      Spark是發源於美國加州大學伯克利分校AMPLab的集羣計算平臺,它立足於內存計算,性能超過Hadoop百倍,從多迭代批量處理出發,兼收幷蓄數據倉庫、流處理和圖計算等多種計算範式,是罕見的全能選手。Spark採用一個統一的技術堆棧解決了雲計算大數據的如流處理、圖技術、機器學習、NoSQL查詢等方面的全部核心問題,具備完善的生態系統,這直接奠基了其一統雲計算大數據領域的霸主地位。編程

      伴隨Spark技術的普及推廣,對專業人才的需求日益增長。Spark專業人才在將來也是煊赫一時,垂手可得能夠拿到百萬的薪酬。而要想成爲Spark高手,也須要一招一式,從內功練起:一般來說須要經歷如下階段:架構

 

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

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應用程序提交給集羣的基本過程和Worker節點基礎的工做原理等oop

 

第三階段:深刻Spark內核

       此階段主要是經過Spark框架的源碼研讀來深刻Spark內核部分:

1, 經過源碼掌握Spark的任務提交過程;

2,  經過源碼掌握Spark集羣的任務調度;

3,  尤爲要精通DAGScheduler、TaskScheduler和Worker節點內部的工做的每一步的細節;

 

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

Spark做爲雲計算大數據時代的集大成者,在實時流處理、圖技術、機器學習、NoSQL查詢等方面具備顯著的優點,咱們使用Spark的時候大部分時間都是在使用其上的框架例如Shark、Spark Streaming等:

1,  Spark Streaming是很是出色的實時流處理框架,要掌握其DStream、transformation和checkpoint等;

2,  Spark的離線統計分析功能,Spark 1.0.0版本在Shark的基礎上推出了Spark SQL,離線統計分析的功能的效率有顯著的提高,須要重點掌握;

3,  對於Spark的機器學習和GraphX等要掌握其原理和用法;

 

第五階級:作商業級別的Spark項目

     經過一個完整的具備表明性的Spark項目來貫穿Spark的方方面面,包括項目的架構設計、用到的技術的剖析、開發實現、運維等,完整掌握其中的每個階段和細節,這樣就可讓您之後能夠從容面對絕大多數Spark項目。

 

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

1,  完全掌握Spark框架源碼的每個細節;

2,   根據不一樣的業務場景的須要提供Spark在不一樣場景的下的解決方案;

3,   根據實際須要,在Spark框架基礎上進行二次開發,打造本身的Spark框架;

        前面所述的成爲Spark高手的六個階段中的第一和第二個階段能夠經過自學逐步完成,隨後的三個階段最好是由高手或者專家的指引下一步步完成,最後一個階段,基本上就是到」無招勝有招」的時期,不少東西要用心領悟才能完成。

相關文章
相關標籤/搜索