三 Spark設計與執行原理,基本操作

2022-10-08 17:48:21 字數 1811 閱讀 5145

1.spark已打造出結構一體化、功能多樣化的大資料生態系統,請用**闡述spark生態系統的組成及各元件的功能。

(1)spark core:spark核心元件,它實現了spark的基本功能,包含任務排程、記憶體管理、錯誤恢復、與儲存系統互動等模組。spark core中還包含了對彈性分布式資料集(resilient distributed datasets,rdd)的api定義,rdd是唯讀的分割槽記錄的集合,只能基於在穩定物理儲存中的資料集和其他已有的rdd上執行確定性操作來建立。

(2)spark sql:用來操作結構化資料的核心元件,通過spark sql可以直接查詢hive、 hbase等多種外部資料來源中的資料。spark sql的重要特點是能夠統一處理關係表和rdd在處理結構化資料時,開發人員無須編寫 mapreduce程式,直接使用sql命令就能完成更加複雜的資料查詢操作。

(3)spark streaming:spark提供的流式計算框架,支援高吞吐量、可容錯處理的實時流式資料處理,其核心原理是將流資料分解成一系列短小的批處理作業,每個短小的批處理作業都可以使用 spark core進行快速處理。spark streaming支援多種資料來源,如 kafka以及tcp套接字等。

(4)mllib:spark提供的關於機器學習功能的演算法程式庫,包括分類、回歸、聚類、協同過濾演算法等,還提供了模型評估、資料匯入等額外的功能,開發人員只需了解一定的機器學習演算法知識就能進行機器學習方面的開發,降低了學習成本。

(5)graphx: spark提供的分布式圖處理框架,擁有圖計算和圖挖掘演算法的api介面以及豐富的功能和運算子,極大地方便了對分布式圖的處理需求,能在海量資料上執行複雜的圖演算法。

(6)獨立排程器、yarn、 mesos: spark框架可以高效地在乙個到數千個節點之間伸縮計算,集群管理器則主要負責各個節點的資源管理工作,為了實現這樣的要求,同時獲得最大的靈活性, spark支援在各種集群管理器( cluster manager)上執行, hadoop yarn、apache mesos以及 spark自帶的獨立排程器都被稱為集群管理器。

2.請詳細闡述spark的幾個主要概念及相互關係:

rdd轉換關係圖

spark 執行原理

sparkcontext 乙個執行緒只有乙個 spark的job都是jvm的程序 在spark 2.0之前,sparkcontext是所有spark任務的入口,無論spark集群有多少個節點做並行處理,每個程式只可以有唯一的sparkcontext,它可以被sparkconf物件初始化 spark ...

Spark執行原理

1 建立sparkcontext物件,然後sparkcontext會向clutser manager 集群資源管理器 例如yarn standalone mesos等申請資源 2 資源管理器在worker節點上建立executor並分配資源 cpu 記憶體等 後期excutor會定時向資源管理器傳送...

Spark任務執行原理

首先,先看一幅圖 以上圖中有四個機器節點,driver 和 worker 是啟動在伺服器節點上的程序,這些程序都執行在 jvm 中。上述圖的執行步驟 driver 與集群節點之間有頻繁的通訊。driver 負責任務 tasks 的分發和結果的 任務的排程。如果 task的計算結果非常大就不要 了,會...