SparkStreaming原始碼閱讀

2021-09-09 07:13:59 字數 798 閱讀 1548

在了解sparkstreaming之前,先來弄清幾個變數:

//生成sparkjob,使用jobgenerator來生成spark job,然後在乙個執行緒池執行這些job

private[streaming] val scheduler = new jobscheduler(this)

//private[streaming] val waiter = new contextwaiter

private[streaming] val progresslistener = new streamingjobprogresslistener(this)

建立dstreamgraph,可以模擬rdd,dstreamgraph類似於rdd dag

private[streaming] val graph: dstreamgraph =  else 

}

如果使用checkpoint,那麼就從checkpoint中恢復graph,否則新建乙個,dstreamgraph用來動態的建立dstream dag ,

dstreamgraph有兩個重要成員:

private val inputstreams = new arraybuffer[inputdstream[_]]()

private val outputstreams = new arraybuffer[dstream[_]]()

inputstreams集合用來記錄所有的輸入資料流

outputstreams集合用來記錄所有的dstream

Spark Streaming入門詳解

背景 使用spark主要是使用spark streaming,spark streaming的魔力之所在於 1.流式處理,如今是乙個流處理時代,一切與流不相關的都是無效的資料。3.spark streaming本身是乙個程式,spark streaming在處理資料的時候會不斷感知資料。所以對構建複...

Spark Streaming 程式監控

官網中指出,spark中專門為sparkstreaming程式的監控設定了額外的途徑,當使用streamingcontext時,在web ui中會出現乙個 streaming 的選項卡,在此選項卡內,統計的內容展示如下 這其中包括接受的記錄數量,每乙個batch內處理的記錄數,處理時間,以及總共消耗...

spark streaming讀取kafka示例

spark streaming讀取kafka示例,其中 spark streaming優雅的關閉策略優化部分參考 如何管理spark streaming消費kafka的偏移量部分參考 spark向kafka中寫入資料部分參考 object demo 建立streamingcontext return...