Spark學習筆記:DStream基本工作原理
阿新 • • 發佈:2018-12-09
DStream基本工作原理
DStream是Spark Streaming提供的一種高階抽象,英文全稱為Discretized Stream,中文翻譯為離散流,它代表了一個持續不斷的資料流。DStream可以通過輸入資料來源(比如從Flume、Kafka中)來建立,也可以通過對其他DStream應用高階函式(map,flatmap)來建立。
在內部實現上,DStream由一組時間序列上連續的RDD來表示,RDD是Spark Core的核心抽象,即不可變的、分散式的資料集,DStream中的每個RDD都包含了一個時間段內的資料
對DStream應用的運算元,在底層會被轉換為對DStream中每個RDD的操作 底層原理為,對DStream中每個時間段的RDD都應用一遍運算元操作,然後生成新的RDD,即作為新的DStream中的那個時間段的RDD
經過一系列運算元操作之後,最終可以將實時計算的結果儲存到相關介質中,如Redis、HBase、MySQL。
根據這個流程也可以得出Spark Streaming程式設計的步驟:
1.建立輸入的資料流DStream 2.對DStream進行各種運算元操作,得到新的DStream 3.將處理完的結果儲存到儲存介質中
批處理時間間隔
Spark Streaming中,資料採集是逐條進行的,而資料處理是按批進行的 Spark Streaming中會先設定好批處理的時間間隔。當達到批處理時間間隔的時候就會把採集到的資料彙總起來成為一批資料交給系統去處理