【Spark亞太研究院系列叢書】Spark實戰高手之路-第3章Spark架構設計與編程模型第1節②

3、你爲何須要Spark;算法

你須要Spark的十大理由:編程

1,Spark是能夠革命Hadoop的目前惟一替代者,可以作Hadoop作的一切事情,同時速度比Hadoop快了100倍以上:性能優化

 

Logistic regression in Hadoop and Spark架構

能夠看出在Spark特別擅長的領域其速度比Hadoop快120倍以上!app

 

2,原先支持Hadoop的四大商業機構紛紛宣佈支持Spark,包含知名Hadoop解決方案供應商Cloudera知名的Hadoop供應商MapR框架

3,Spark是繼Hadoop以後,成爲替代Hadoop的下一代雲計算大數據核心技術,目前SPARK已經構建了本身的整個大數據處理生態系統,如流處理、圖技術、機器學習、NoSQL查詢等方面都有本身的技術,而且是Apache頂級Project,能夠預計的是2014年下半年到2015年在社區和商業應用上會有爆發式的增加。運維

4,國外一些大型互聯網公司已經部署了Spark。甚至連Hadoop的早期主要貢獻者Yahoo如今也在多個項目中部署使用Spark;國內的淘寶、優酷土豆、網易、Baidu、騰訊等已經使用Spark技術用於本身的商業生產系統中,國內外的應用開始愈來愈普遍。Spark正在逐漸走向成熟,並在這個領域扮演更加劇要的角色。機器學習

5,不得不提的是Spark的「One stack to rule them all」的特性,Spark的特色之一就是用一個技術堆棧解決雲計算大數據中流處理、圖技術、機器學習、交互式查詢、偏差查詢等全部的問題,此時咱們只須要一個技術團隊經過Spark就能夠搞定一切問題,而若是基於Hadoop就須要分別構建實時流處理團隊、數據統計分析團隊、數據挖掘團隊等,並且這些團隊之間不管是代碼仍是經驗都不可相互借鑑,會造成巨大的成本,而使用Spark就不存在這個問題;分佈式

6,Mahout前一階段表示從如今起他們將再也不接受任何形式的以MapReduce形式實現的算法,另一方面,Mahout宣佈新的算法基於Spark;函數式編程

7,若是你已經使用了Hadoop,就更加須要Spark。Mahout前一階段表示從如今起他們將再也不接受任何形式的以MapReduce形式實現的算法,另一方面,Mahout宣佈新的算法基於Spark,同時,這幾年來,Hadoop的改進基本停留在代碼層次,也就是修修補補的事情,這就致使了Hadoop如今具備深度的「技術債務」,負載累累;

8,伴隨Spark技術的普及推廣,對專業人才的需求日益增長。Spark專業人才在將來也是煊赫一時,垂手可得能夠拿到百萬的薪酬;

9,百億美圓市場,教授爲之辭職,學生爲止輟學,大勢所趨!

10,Life is short.

 

4、如何成爲雲計算大數據Spark高手(含思惟導圖和每一個階段的課程推薦);

 

Spark採用一個統一的技術堆棧解決了雲計算大數據的如流處理、圖技術、機器學習、NoSQL查詢等方面的全部核心問題,具備完善的生態系統,這直接奠基了其一統雲計算大數據領域的霸主地位;

要想成爲Spark高手,須要經歷六大階段:

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

1, Spark框架是採用Scala語言編寫的,精緻而優雅。要想成爲Spark高手,你就必須閱讀Spark的源代碼,就必須掌握Scala,;

2, 雖說如今的Spark能夠採用多語言Java、Python等進行應用程序開發,可是最快速的和支持最好的開發API依然並將永遠是Scala方式的API,因此你必須掌握Scala來編寫複雜的和高性能的Spark分佈式程序;

3, 尤爲要熟練掌握Scala的trait、apply、函數式編程、泛型、逆變與協變等;

推薦課程:」精通Spark的開發語言:Scala最佳實踐」

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

1, 掌握Spark中面向RDD的開發模式,掌握各類transformationaction函數的使用;

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

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

推薦課程:「18小時內掌握Spark:把雲計算大數據速度提升100倍以上!」

第三階段:深刻Spark內核

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

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

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

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

推薦課程:「Spark 1.0.0企業級開發動手:實戰世界上第一個Spark 1.0.0課程,涵蓋Spark 1.0.0全部的企業級開發技術」

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

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

1, Spark Streaming是很是出色的實時流處理框架,要掌握其DStreamtransformationcheckpoint等;

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

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

推薦課程:「Spark企業級開發最佳實踐」

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

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

推薦課程:「Spark架構案例鑑賞:Conviva、Yahoo!、優酷土豆、網易、騰訊、淘寶等公司的實際Spark案例」

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

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

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

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

推薦課程:「精通Spark:Spark內核剖析、源碼解讀、性能優化和商業案例實戰」

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

相關文章
相關標籤/搜索