==通過案例對SparkStreaming透徹理解三板斧之二

通過案例對SparkStreaming透徹理解三板斧之二 - 簡書
http://www.reibang.com/p/c59fa2ad7380

DStream就是Spark Streaming的核心您没,就想Spark Core的核心是RDD悲关,它也有dependency和compute。

一個HashMap忽媒,以時間為key,以RDD為value腋粥,這也正應(yīng)證了隨著時間流逝晦雨,不斷的生成RDD,產(chǎn)生依賴關(guān)系的job隘冲,并通過jobScheduler在集群上運行闹瞧。再次驗證了DStream就是RDD的模版。

DStream可以說是邏輯級別的展辞,RDD就是物理級別的奥邮,DStream所表達的最終都是通過RDD的轉(zhuǎn)化實現(xiàn)的。前者是更高級別的抽象罗珍,后者是底層的實現(xiàn)洽腺。DStream實際上就是在時間維度上對RDD集合的封裝,DStream與RDD的關(guān)系就是隨著時間流逝不斷的產(chǎn)生RDD靡砌,對DStream的操作就是在固定時間上操作RDD已脓。


Spark Streaming運行時與其說是Spark Core上的一個流式處理框架,不如說是Spark Core上的一個最復(fù)雜的應(yīng)用程序通殃。如果可以掌握Spark streaming這個復(fù)雜的應(yīng)用程序度液,那么其他的再復(fù)雜的應(yīng)用程序都不在話下了。


   我們知道Spark Core處理的每一步都是基于RDD的画舌,RDD之間有依賴關(guān)系堕担。上圖中的RDD的DAG顯示的是有3個Action,會觸發(fā)3個job曲聂,RDD自下向上依賴霹购,RDD產(chǎn)生job就會具體的執(zhí)行。從DSteam Graph中可以看到朋腋,DStream的邏輯與RDD基本一致齐疙,它就是在RDD的基礎(chǔ)上加上了時間的依賴膜楷。RDD的DAG又可以叫空間維度,也就是說整個Spark Streaming多了一個時間維度贞奋,也可以成為時空維度赌厅。
   從這個角度來講,可以將Spark Streaming放在坐標系中轿塔。其中Y軸就是對RDD的操作特愿,RDD的依賴關(guān)系構(gòu)成了整個job的邏輯,而X軸就是時間勾缭。隨著時間的流逝揍障,固定的時間間隔(Batch Interval)就會生成一個job實例,進而在集群中運行俩由。
   對于Spark Streaming來說毒嫡,當不同的數(shù)據(jù)來源的數(shù)據(jù)流進來的時候,基于固定的時間間隔采驻,會形成一系列固定不變的數(shù)據(jù)集或event集合(例如來自flume和kafka)审胚。而這正好與RDD基于固定的數(shù)據(jù)集不謀而合,事實上礼旅,由DStream基于固定的時間間隔行程的RDD Graph正是基于某一個batch的數(shù)據(jù)集的。

從上圖中可以看出洽洁,在每一個batch上痘系,空間維度的RDD依賴關(guān)系都是一樣的,不同的是這個五個batch流入的數(shù)據(jù)規(guī)模和內(nèi)容不一樣饿自,所以說生成的是不同的RDD依賴關(guān)系的實例汰翠,所以說RDD的Graph脫胎于DStream的Graph,也就是說DStream就是RDD的模版昭雌,不同的時間間隔复唤,生成不同的RDD Graph實例。
從Spark Streaming本身出發(fā):
1.需要RDD DAG的生成模版:DStream Graph
2需要基于Timeline的job控制器
3需要inputStreamings和outputStreamings烛卧,代表數(shù)據(jù)的輸入和輸出
4具體的job運行在Spark Cluster之上佛纫,由于streaming不管集群是否可以消化掉,此時系統(tǒng)容錯就至關(guān)重要
5事務(wù)處理总放,我們希望流進來的數(shù)據(jù)一定會被處理呈宇,而且只處理一次。在處理出現(xiàn)崩潰的情況下如何保證Exactly once的事務(wù)語意局雄。
從源碼解讀DStream


從這里可以看出甥啄,DStream就是Spark Streaming的核心,就想Spark Core的核心是RDD炬搭,它也有dependency和compute蜈漓。更為關(guān)鍵的是下面的代碼:


   這是一個HashMap穆桂,以時間為key,以RDD為value融虽,這也正應(yīng)證了隨著時間流逝充尉,不斷的生成RDD,產(chǎn)生依賴關(guān)系的job衣形,并通過jobScheduler在集群上運行驼侠。再次驗證了DStream就是RDD的模版。
  DStream可以說是邏輯級別的谆吴,RDD就是物理級別的倒源,DStream所表達的最終都是通過RDD的轉(zhuǎn)化實現(xiàn)的。前者是更高級別的抽象句狼,后者是底層的實現(xiàn)笋熬。DStream實際上就是在時間維度上對RDD集合的封裝,DStream與RDD的關(guān)系就是隨著時間流逝不斷的產(chǎn)生RDD腻菇,對DStream的操作就是在固定時間上操作RDD胳螟。

總結(jié):
在空間維度上的業(yè)務(wù)邏輯作用于DStream,隨著時間的流逝筹吐,每個Batch Interval形成了具體的數(shù)據(jù)集糖耸,產(chǎn)生了RDD,對RDD進行transform操作丘薛,進而形成了RDD的依賴關(guān)系RDD DAG嘉竟,形成job。然后jobScheduler根據(jù)時間調(diào)度洋侨,基于RDD的依賴關(guān)系舍扰,把作業(yè)發(fā)布到Spark Cluster上去運行,不斷的產(chǎn)生Spark作業(yè)希坚。
備注:
資料來源于:DT_大數(shù)據(jù)夢工廠(Spark發(fā)行版本定制)
更多私密內(nèi)容边苹,請關(guān)注微信公眾號:DT_Spark
如果您對大數(shù)據(jù)Spark感興趣,可以免費聽由王家林老師每天晚上20:00開設(shè)的Spark永久免費公開課裁僧,地址YY房間號:68917580
文/陽光男孩spark(簡書作者)原文鏈接:http://www.reibang.com/p/c59fa2ad7380著作權(quán)歸作者所有个束,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標注“簡書作者”锅知。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末播急,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子售睹,更是在濱河造成了極大的恐慌桩警,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昌妹,死亡現(xiàn)場離奇詭異捶枢,居然都是意外死亡握截,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門烂叔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谨胞,“玉大人,你說我怎么就攤上這事蒜鸡】枧” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵逢防,是天一觀的道長叶沛。 經(jīng)常有香客問我,道長忘朝,這世上最難降的妖魔是什么灰署? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮局嘁,結(jié)果婚禮上溉箕,老公的妹妹穿的比我還像新娘。我一直安慰自己悦昵,他們只是感情好肴茄,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旱捧,像睡著了一般独郎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枚赡,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音谓谦,去河邊找鬼贫橙。 笑死,一個胖子當著我的面吹牛反粥,可吹牛的內(nèi)容都是我干的卢肃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼才顿,長吁一口氣:“原來是場噩夢啊……” “哼莫湘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起郑气,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤幅垮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尾组,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忙芒,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡示弓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了呵萨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奏属。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖潮峦,靈堂內(nèi)的尸體忽然破棺而出囱皿,到底是詐尸還是另有隱情,我是刑警寧澤忱嘹,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布嘱腥,位于F島的核電站,受9級特大地震影響德谅,放射性物質(zhì)發(fā)生泄漏爹橱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一窄做、第九天 我趴在偏房一處隱蔽的房頂上張望愧驱。 院中可真熱鬧,春花似錦椭盏、人聲如沸组砚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糟红。三九已至,卻和暖如春乌叶,著一層夾襖步出監(jiān)牢的瞬間盆偿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工准浴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留事扭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓乐横,卻偏偏與公主長得像求橄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子葡公,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容