教育行業A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

DStream是什么?怎樣對DStream進行操作?

更新時間:2021年12月27日11時41分 來源:傳智教育 瀏覽次數:

DStream的本質

DStream(Discretized Stream)是Spark Streaming提供的基本數據抽象。它表示一個連續的數據流,可以是從源接收到的輸入數據流,也可以是通過轉換輸入流生成的已處理數據流。

DStream由一系列連續的RDD表示,每個RDD都包含來自特定間隔的數據,如下圖所示。SparkStreaming對流數據按照秒/分等時間間隔進行微批劃分,每個微批就是一個RDD,這些個時間上連續的RDD就組成了

DStream

所以DStream本質上就是一系列時間上連續的RDD即DStream=>Seq[RDD]

對DStream進行操作

對DStream進行操作(如:flatMap/map/filter..)就是對其底層的RDD進行操作

對RDD操作會返回新的RDD,對DStream進行操作也會返回新的DStream

DStream具有容錯性:

RDD之間存在依賴關系,DStream間也有依賴關系,RDD具有容錯性,那么DStream也具有容錯性

上圖相關說明:

1、每一個橢圓形表示一個RDD

2、橢圓形中的每個圓形代表一個RDD中的一個Partition分區

3、每一列的多個RDD表示一個DStream(圖中有三列所以有三個DStream

4、每一行最后一個RDD則表示每一個Batch Size所產生的中間結果RDD

DStream的API

大多數Transformation和Action/Output和之前的RDD的一樣使用.少部分不一樣的通過案例講解

DStream Operations

Transformation
大多數和RDD中的類似,但有一些特殊的針對特定類型應用使用的函數,比如updateStateByKey狀態函數、window窗口函數等,后續具體結合案例講解。
http://spark.apache.org/docs/latest/streaming-programming-guide.html#transformations-on-dstreams

Output函數

Output Operations:將DStream中每批次RDD處理結果resultRDD輸出
http://spark.apache.org/docs/latest/streaming-programming-guide.html#output-operations-on-dstreams



猜你喜歡:

兩種RDD的依賴關系介紹

SparkStreaming連接Kafka兩種方式

Spark生態系統包含哪些組件?

Spark處理數據的速度比Hive更快?原因是什么?

傳智教育python+大數據開發培訓

0 分享到:
红豆直播app黄台_红豆直播app下载免费_红豆直播app下载