從昨天第一課的黑名單過濾的案例中,我們能夠看見其實一個Spark Streaming 程序,裏面會自動生成不少不一樣的做業,能夠用如下的圖,去理解什麼是DStream,它跟RDD 之間有什麼不一樣。架構
簡單說 DStream 是Batch Process +RDD ,在每一段時間間隔裏會產生 RDD。大數據
下圖是一個 Y 軸跟 X 軸組成的一張圖。spa
Y 軸是空間維度,表明是 RDD 的依賴關係構成的具體的處理邏輯的步驟,是用DStream Graph 來表示的。線程
X 軸是時間維度,按照特定時間間隔不斷的生成 Job 的實例並在集羣上運行。orm
DStream 跟 RDD 的 空間維度是一樣的,只不過是時間維度不一樣 導致每次處理的數據跟結果不一樣而已。隨著時間的流程基於 DStream Graph 不斷的生成以 RDD Graph 也就是 DAG 的方式產生 Job 並通過 Job Scheduler 的線程池的方式提交給 Spark Cluster 不斷的執行。ci
如下5點是很重要的:it
須要 RDD DAG 的生成模板模板
須要基於 Timeline 的 Job 控制器集羣
InputStream 和 OutputStream 表明數據的輸入和輸出stream
具體 Job 運行在 Spark Cluster 之上,此時系統容錯就至關重要
事務處理,在處理出現崩潰的情況下如何保證 Exactly Once 的事務意義
Thanks for reading
Janice
——————————————————————————————–
Reference: DT大數據夢工廠SPARK版本定製課程 – 第2課:經過案例對SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構
Sharing is Good, Learning is Fun.今天很殘酷、明天更殘酷,後天很美好。但不少人死在明天晚上、而看不到後天的太陽。 –馬雲 Jack Ma