大資料之spark學習記錄一 Intro

2021-10-08 01:38:26 字數 1536 閱讀 8901

1.x 版本

從架構的角度存在很多的問題

namenode是單點操作,所以容易出現單點故障,制約了hdfs的發展

namenode的記憶體限制也影響了hdfs的發展

mapreduce是一種基於資料集的工作模式,面向資料,這種工作模式一般是從儲存上載入資料集,然後運算元據集,最好將結果寫入儲存裝置。資料更多面臨的是一次性計算。所以其初衷是單一地資料計算,不支援迭代計算

資源排程和任務排程耦合在一起,無法擴充套件,所以hadoop1.x版本只支援mr計算框架

2.x版本(yarn)

支援了namenode高可用

使用了新的資源排程框架yarn,只做資源排程,不進行任務排程,實現了資源排程與計算的解耦

mr框架只做任務排程,可插拔,所以擴充套件性非常強

spark是一種基於記憶體的快速、通用、可擴充套件的大資料分析計算引擎(框架)

並且 spark 目前已經成為 apache 最活躍的開源專案, 有超過 1000 個活躍的貢獻者.

2009 年,spark 誕生於 uc berkeley(加州大學伯克利分校, cal) 的 amp 實驗室, 專案採用 scala 程式語言編寫.

2010 年, spark 正式對外開源

2013 年 6 月, 進入 apache 孵化器

2014 年, 成為 apache 的頂級專案

與 hadoop 的飽受詬病的mapreduce 相比(慢!), spark 基於記憶體的運算是 mapreduce 的 100 倍.基於硬碟的運算也要快 10 倍以上.

spark 實現了高效的 dag 執行引擎, 可以通過基於記憶體來高效處理資料流。

spark與hadoop-mr的根本差異是多個作業之間的資料通訊問題:spark多個作業之間資料通訊是基於記憶體的,而hadoop-mr是基於磁碟的

經過以上比較,可以看出在絕大多數資料計算場景中,spark比mapreduce更有優勢,但是spark基於記憶體是個雙刃劍,為spark帶來速度提公升的同時也限制了其使用的廣泛度,所以在實際的生產環境中,由於記憶體的限制,job可能會由於記憶體資源不夠而執行失敗,此時,mapreduce其實就是乙個更好的選擇,所以spark不能完全替代mr

spark核心元件

大資料學習之Spark(1)

2019.09.101 spark的特點 2 總體架構 包括 3 常見術語 兩個抽象部件 sparkcontext rdd 必須建立乙個sparkcontext類例項,且只能擁有乙個啟用的sparkcontext類例項 1 最簡便方法 val sc new sparkcontext 2 建立spar...

spark快速大資料分析之學習記錄(四)

題外話 這是乙個 主要用於記錄並監督我每週的spark學習程序 一 初始化sparkcontext 基於python 1.新建乙個py檔案,用於存放python指令碼 備註 我在桌面建了乙個資料夾py,主要用來存放python指令碼 shell命令 sudo vim test.py 然後在test....

spark快速大資料分析之學習記錄(五)

題外話 這是乙個 主要用於記錄並監督我每週的spark學習程序 上週畢業典禮,放肆high 1 rdd基礎 rdd risilient distributed dataset 彈性分布式資料集,簡單理解成不可變的分布式的元素集合 2.建立rdd python 建立rdd有兩種 外部讀取檔案和自定義傳...