Spark編程模型

hadoop的mapreduce計算過程:

input ->map -partitions-merge-reduce-output

mapReduce慢的原因:頻繁的寫磁盤導致額外的複製以及IO開銷

Spark:

Spark核心概念
  術語 解釋
0 Application 基於Spark的用戶程序,包含了driver和集羣上的executer
1 Driver Program 運行main函數並且新建SparkContext的程序
2 Executor 在一個worker node上爲某應用啓動的一個進程,該進程負責運行任務,兵器負責將數據存在內存或者磁盤上,每個應用都有各自獨立的exectors
3 Cluster Manager 在集羣上獲取資源的外部服務
4 worker Node 集羣中可以任何運行引用代碼的節點
5 Task 被送到某個exector上的工作單元
6 Job 包含很多任務的並行運算,可以看做和spark的action對應
7 Stage Job會被拆分爲很多組任務,每組任務被稱爲stage

Application的組成:由0-7組成

核心概念

RDD

窄依賴,一系列的轉換操作,下一個rdd依賴的父rdd只有1個

寬依賴,下一個rdd依賴的父RDd大於1個

優缺點:窄依賴放在一個節點操作,可以提高執行效率

partition爲最小單位,分片。哪一步出錯,返回父rdd重新執行即可,這就是spark的容錯性。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章