91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第2課:SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構

發布時間:2020-07-22 03:20:45 來源:網絡 閱讀:1081 作者:lqding1980 欄目:大數據

本期內容:

  • 解密Spark Streaming 運行機制

  • 解密Spark Streaming 框架


Spark Streaming是Spark的一個子框架,但是它更像是運行在Spark Core上的一個應用程序。Spark Streaming在啟動時運行了很多的job,并且job之間相互配合。

Job圍繞了兩個方面:

1. 對輸入數據流進行計算的Job

2. 框架自身運行需要的Job,例如Receiver啟動。


Spark Streaming本身就是一個非常復雜的應用程序,如果你對SparkStreaming了如指掌,那么你將非常輕松的編寫任意的應用程序。


我們看一下Spark的架構圖:

第2課:SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構


Spark core上面有4個流行的框架:SparkSQL、流計算、機器學習、圖計算

除了流計算,其他的框架大多都是在SparkCore上對一些算法或者接口進行了高層的封裝。例如SparkSQL 封裝了SQL語法,主要功能就是將SQL語法解析成SparkCore的底層API。而機器學習則是封裝了很多的數學向量及算法。GraphX目前也沒有太大的更新。

只有對SparkStreaming徹底了解,才能對提升我們寫應用程序有很大的幫助。


基于Spark Core的時候,都是基于RDD編程,而基于SparkStreaming則是基于DStream編程。DStream就是在RDD的基礎上,加上了時間維度:

private[streaming] var generatedRDDs = new HashMap[Time, RDD[T]] ()

DStream的compute需要傳入一個時間參數,通過時間獲取相應的RDD,然后再對RDD進行計算

/** Method that generates a RDD for the given time */
def compute(validTime: Time): Option[RDD[T]]

我們查看SparkStreaming的運行日志,就可以看出和RDD的運行幾乎是一致的:

第2課:SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構


SparkStreaming Job在運行的時候,首先會生成DStream的Graph,在特定的時間將DStream Graph轉換成RDD Graph。然后再去運行RDD的job 。如下圖:

第2課:SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構

如果我們把RDD看成一個空間上的維度,那么DStream就是在RDD上加入了時間維度的時空維度。


第2課:SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構



我們可以想象一下,在一個二維空間中,X軸是時間,Y軸是對RDD的操作,也就是所謂的RDD的依賴關系構成的整個job的邏輯。隨著時間的進行,會生成一個個的job實例。

第2課:SparkStreaming 透徹理解三板斧之二:解密SparkStreaming運行機制和架構所以SparkStreaming需要提供如下的功能:

  • 需要RDD Graph生成的模板DStreamGraph

  • 需要基于時間的job控制器

  • 需要InputStream和OutputStream代表數據的輸入和輸出

  • 將具體的job提交到Spark Cluster上,因為SparkStreaming是不斷的在運行job,更容易出現問題,所以容錯就至關重要(單個job的容錯是基于Sparkcore的,SparkStreaming還要提供自己框架的容錯功能)。

  • 事務處理,數據一定會被處理,并且只會被處理一次。也就是說每次處理數據的時候,要知道數據的邊界。特別是出現崩潰的情況下。


備注:

1、DT大數據夢工廠微信公眾號DT_Spark 
2、IMF晚8點大數據實戰YY直播頻道號:68917580
3、新浪微博: http://www.weibo.com/ilovepains


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韶山市| 漳平市| 肇庆市| 平陆县| 乌兰察布市| 犍为县| 临江市| 安塞县| 吉隆县| 安仁县| 卓资县| 松原市| 贡嘎县| 清涧县| 延津县| 宣威市| 四平市| 班戈县| 同江市| 开阳县| 开鲁县| 万载县| 曲周县| 上犹县| 开封县| 安阳县| 巩义市| 吉安市| 新蔡县| 泉州市| 嵊泗县| 汤阴县| 滦南县| 汪清县| 定远县| 霍邱县| 牡丹江市| 邯郸市| 剑河县| 宜都市| 海门市|