怎樣為雲計算大資料Spark高手?

來源:互聯網
上載者:User

Spark是發源于美國加州大學伯克利分校AMPLab的集群計算平臺,它立足于記憶體計算,性能超過Hadoop百倍,從多反覆運算批量處理出發,兼收並蓄資料倉儲、流處理和圖計算等多種計算范式,是罕見的全能選手。 Spark採用一個統一的技術堆疊解決了雲計算大資料的如流處理、圖技術、機器學習、 NoSQL查詢等方面的所有核心問題,具有完善的生態系統,這直接奠定了其一統雲計算大資料領域的霸主地位。

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

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

Spark框架是採用Scala語言編寫的,精緻而優雅。 要想成為Spark高手,你就必須閱讀Spark的原始程式碼,就必須掌握Scala,;

雖然說現在的Spark可以採用多語言JAVA、Python等進行應用程式開發,但是最快速的和支援最好的開發API依然並將永遠是Scala方式的API,所以你必須掌握Scala來編寫複雜的和高性能的Spark分散式程式;

尤其要熟練掌握Scala的trait、apply、函數式程式設計、泛型、逆變與協變等;

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

掌握Spark中面向RDD的開發模式,掌握各種transformation和action函數的使用;

掌握Spark中的寬依賴和窄依賴以及lineage機制;

掌握RDD的計算流程,例如Stage的劃分、Spark應用程式提交給集群的基本過程和Worker節點基礎的工作原理等

第三階段:深入Spark內核

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

通過源碼掌握Spark的任務提交過程;

通過源碼掌握Spark集群的任務調度;

尤其要精通DAGScheduler、TaskScheduler和Worker節點內部的工作的每一步的細節;

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

Spark作為雲計算大資料時代的集大成者,在即時流處理、圖技術、機器學習、NoSQL查詢等方面具有顯著的優勢,我們使用Spark的時候大部分時間都是在使用其上的框架例如Shark、Spark Streaming等:

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

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

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

第五階級:做商業級別的Spark專案

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

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

徹底掌握Spark框架源碼的每一個細節;

根據不同的業務場景的需要提供Spark在不同場景的下的解決方案;

根據實際需要,在Spark框架基礎上進行二次開發,打造自己的Spark框架;

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.