SparkStreaming 運行架構

SparkStreaming 進行數據的處理大致分爲四個步驟: 啓動流處理引擎、接受以及存儲數據、處理數據、輸出結果等。

(1)初始化StreamingContext對象,在該對象啓動過程中實例化DStreamGraph和JobGenrator,其中DStreamGraph用於存放DStream以及之間的依賴關係等信息,而jobscher中ReceiverTracker和JobGentator。其中ReceiverTracker爲Driver端流數據接收器(Recevicer)的管理者,JobGentator啓動過程中,根據流數據接收器分發策略通知對應的executor中的流數據接收器(ReciverSupervisor)啓動,再由ReciverSupervisor啓動流數據接收器。

(2)當數據接收器Recevicer啓動後,持續不斷地接受實時流數據,根據傳過來的數據的大小進行判斷,如果數據量很小,則等到多條數據成一塊,在進行塊存儲;如果數據量大直接塊存儲。對於這些數據Receiver直接交給ReciverSupervisor,由其進行數據轉存操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章