第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming

原创
2016/05/10 00:00
阅读数 228

从昨天第一课的黑名单过滤的案例中,我們可以看見其實一個Spark Streaming 程序,里面會自動生成很多不同的作業,可以用以下的圖,去理解什麼是DStream,它跟RDD 之間有什麼不同。

簡單說 DStream 是Batch Process +RDD ,在每一段時間間隔里會產生 RDD。

下圖是一個 Y 轴跟 X 轴組成的一張圖。

Y 轴是空間維度,代表是 RDD 的依賴關係構成的具體的處理邏輯的步驟,是用DStream Graph 來表示的。

X 轴是時間維度,按照特定時間間隔不斷的生成 Job 的實例並在集群上運行。

DStream 跟 RDD 的 空間維度是一樣的,只不過是時間維度不同 導致每次處理的數據跟結果不一樣而已。隨著時間的流程基於 DStream Graph 不斷的生成以 RDD Graph 也就是 DAG 的方式產生 Job 並通過 Job Scheduler 的线程池的方式提交給 Spark Cluster 不斷的執行。


以下5點是很重要的:

  1. 需要 RDD DAG 的生成模板

  2. 需要基於 Timeline 的 Job 控制器

  3. InputStream 和 OutputStream 代表數據的輸入和輸出

  4. 具體 Job 運行在 Spark Cluster 之上,此時系統容錯就至關重要

  5. 事務處理,在處理出現崩潰的情況下如何保證 Exactly Once 的事務意義





Thanks for reading

Janice

——————————————————————————————–
Reference: DT大数据梦工厂SPARK版本定制課程 – 第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构


Sharing is Good, Learning is Fun.
今天很残酷、明天更残酷,后天很美好。但很多人死在明天晚上、而看不到后天的太阳。 –马云 Jack Ma



展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
2
分享
返回顶部
顶部