一、Spark-Streaming的原理

一:sparkRDD如何變成了sparkStreaming?

Spark底層是經過Driver端構建SparkRDD來處理數據的,可是SparkRDD處理完成後就退出了。

那麼如何纔可以讓集羣中一直有SparkRDD在運行,處理實時發送過來的kafka數據?

Spark提供了一個很簡單粗暴的方式

Driver端根據DAG每隔一段時間,不斷地往集羣中循環發送task,不斷的讀取kafka對應offset的數據,這樣集羣中就會不斷的有新的SparkRDD在運行,從而造成流式

二:圖解

輸入圖片說明

全部的Spark模塊都是基於SparkRDD的spa

輸入圖片說明

他們最終都是轉化爲RDD生成DAG,而後經過DAGScheduler切分stage,最後調用Tasksheduler將stage做爲task發送到executor執行。code

輸入圖片說明

相關文章
相關標籤/搜索