多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 許鵬:從零開始學習,Apache Spark源碼走讀(一)

許鵬:從零開始學習,Apache Spark源碼走讀(一)

來源:程序員人生   發布時間:2014-10-12 11:45:39 閱讀次數:2071次

Spark是發源于美國加州大學伯克利分校AMPLab的集群計算平臺,它立足于內存計算,性能超過Hadoop百倍,即使使用磁盤,迭代類型的計算也會有10倍速度的提升。Spark從多迭代批量處理出發,兼收并蓄數據倉庫、流處理和圖計算等多種計算范式,是罕見的全能選手。Spark當下已成為Apache基金會的頂級開源項目,擁有著龐大的社區支持――活躍開發者人數已超過Hadoop MapReduce)。這里,我們為大家分享許鵬的“Apache Spark源碼走讀”系列博文,從源碼方面對這個流行大數據計算框架進行深度了解。


關于博主:許鵬,花名@徽滬一郎,2000年畢業于南京郵電學院,現就業于愛立信上海,在UDM部門從事相關產品研發,個人關注于Linux 內核及實時計算框架如Storm、Spark等。


以下為博文

楔子

源碼閱讀是一件非常容易的事,也是一件非常難的事。容易的是代碼就在那里,一打開就可以看到。難的是要通過代碼明白作者當初為什么要這樣設計,設計之初要解決的主要問題是什么。

在對Spark的源碼進行具體的走讀之前,如果想要快速對Spark的有一個整體性的認識,閱讀Matei Zaharia做的Spark論文是一個非常不錯的選擇。

在閱讀該論文的基礎之上,再結合Spark作者在2012 Developer Meetup上做的演講Introduction to Spark Internals,那么對于Spark的內部實現會有一個比較大概的了解。

有了上述的兩篇文章奠定基礎之后,再來進行源碼閱讀,那么就會知道分析的重點及難點。

基本概念(Basic Concepts)

1. RDD――Resillient Distributed Dataset 彈性分布式數據集。

2. Operation――作用于RDD的各種操作分為transformation和action。

3. Job――作業,一個JOB包含多個RDD及作用于相應RDD上的各種operation。

4. Stage――一個作業分為多個階段。

5. Partition――數據分區, 一個RDD中的數據可以分成多個不同的區。

6. DAG――Directed Acycle graph,有向無環圖,反應RDD之間的依賴關系。

7. Narrow dependency――窄依賴,子RDD依賴于父RDD中固定的data partition。

8. Wide Dependency――寬依賴,子RDD對父RDD中的所有data partition都有依賴。

9. Caching Managenment――緩存管理,對RDD的中間計算結果進行緩存管理以加快整體的處理速度。

編程模型(Programming Model)

RDD是只讀的數據分區集合,注意是數據集

作用于RDD上的Operation分為transformantion和action。 經Transformation處理之后,數據集中的內容會發生更改,由數據集A轉換成為數據集B;而經Action處理之后,數據集中的內容會被歸約為一個具體的數值。

只有當RDD上有action時,該RDD及其父RDD上的所有operation才會被提交到cluster中真正的被執行。

從代碼到動態運行,涉及到的組件如下圖所示。

 

演示代碼

val sc = new SparkContext("Spark://...", "MyJob", home, jars)
val file = sc.textFile("hdfs://...")
val errors = file.filter(_.contains("ERROR"))
errors.cache()
errors.count()

運行態(Runtime view)

不管什么樣的靜態模型,其在動態運行的時候無外乎由進程,線程組成。

用Spark的術語來說,static view稱為dataset view,而dynamic view稱為parition view。關系如圖所示

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生

------分隔線----------------------------
分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 日本爱爱视频网站 | 亚洲欧美校园 | 高清在线播放 | 成人手机看片 | 免费亚洲一区 | 欧美成人免费全部观看天天性色 | 国产jizzjizz免费看麻豆 | 黑人群姣中国妞在线观看 | 一级做a爰片性色毛片视频图片 | 国产精品久久国产三级国不卡顿 | 在线满18网站观看视频 | 久久亚洲精品成人 | 性生生活网站免费 | 91宅男| japanese中文字幕 | 波多野结衣一区免费作品 | 国产成人鲁鲁免费视频a | 欧美成人一区亚洲一区 | 亚洲品质自拍视频网站 | 亚洲伊人久久大香线蕉在观 | 成人自拍视频网站 | 亚洲天堂中文 | 亚洲欧美日韩精品久久亚洲区 | 日本午夜在线 | 校园春色亚洲欧美 | 亚洲国产高清一区二区三区 | 国产亚洲精品久久 | 最近中文字幕国语免费高清6 | 日本一区二区三区四区不卡 | 久久久久久国产精品视频 | 国产高清不卡 | 男女污视频在线观看 | 小说区图片区综合视频区 | 黑粗硬大欧美视频 | 久久久久久久99精品免费 | 欧美日韩不卡视频一区二区三区 | 另类一区 | 一区二区三区四区国产精品 | 麻豆亚洲精品一区二区 | 亚洲视频在线观看网站 | 爱操在线视频 |