從CSDN中讀取到關於spark structured streaming源代碼分析不錯的幾篇文章
spark源碼分析--事件總線LiveListenerBus
-
spark事件總線的核心是LiveListenerBus,其內部維護了多個AsyncEventQueue隊列用於存儲和分發SparkListenerEvent事件。 spark事件總線整體思想是生產消費者模式,消息事件實現了先進先出和異步投遞,同時將事件的產生(例如spark core創建stage、提交job)和事件的處理(例如在Spark UI顯示任務信息)分離,在一定程度上提升了系統的異步...
-
2018-09-28 11:09:23
Spark Structrued Streaming源碼分析--(四)ProgressReporter每個流處理進度計算、StreamQueryManager管理運行的流
-
ProgressReporter是每個StreamExecution持有的特性: abstract class StreamExecution( xxx ) extends StreamingQuery with ProgressReporter with Logging {} 在當前批次計算完成並寫出到sink后,會調用ProgressReporter的finishTrigg...
-
2018-09-01 14:45:56
Spark Structrued Streaming源碼分析--(三)Aggreation聚合狀態存儲與更新
-
通過維持聚合數據的狀態,並比較水位線watermark刪除不再更新的聚合數據,spark實現了流計算中unbounded table(持續更新狀態的無界table),一個典型的實例: val windowedCounts = words.groupBy( window($"timestamp&a
-
2018-09-01 14:45:48
Spark Structured Streaming源碼分析--(二)StreamExecution持續查詢引擎
-
接前一篇文章,我們分析了StreamQueryManager創建流的過程,分為createQuery()和start()兩個步驟,StreamExecution的執行起點為query.streamingQuery.start(),代碼如下: def start(): Unit = { logInfo(s&
-
2018-09-01 14:45:39
Spark Structrued Streaming源碼分析--(一)創建Source、Sink及自定義輸入、輸出端
-
一、示例example 二、通過DataStreamReader.load()方法,查找Source並創建DataFrame 一、示例example 從Kafka Topic讀取記錄行,統計單詞個數 val dataStreamReader: DataStreamReader = spark .readStream .format(&a
-
2018-09-01 14:45:29Github上不錯的文章:《 Structured Streaming 源碼解析系列》Spark不錯的文章:《 Spark driver執行過程及其消息循環》Spark SQL解析不錯文章:《 Spark-SQL解析》