SparkStreaming視窗操作經典案例

2021-08-28 19:56:39 字數 963 閱讀 4643

1.背景描述

在實際企業中非常有價值

例如:我們關注過去30分鐘大家都在熱搜什麼?並且每5分鐘更新一次。要求列出來搜尋前三名的話題內容

2.原理圖

如圖所示,每當視窗滑過dstream時,落在視窗內的源rdd被組合並被執行操作以產生windowed dstream的rdd。在上面的例子中,操作應用於最近3個時間單位的資料,並以2個時間單位滑動。這表明任何視窗操作都需要指定兩個引數。

 視窗長度(windowlength) - 視窗的時間長度(上圖的示例中為:15)。

 滑動間隔(slidinginterval) - 兩次相鄰的視窗操作的間隔(即每次滑動的時間長度)(上圖示例中為:10)。

這兩個引數必須是源dstream的批間隔的倍數(上圖示例中為:5)。

3.**

問題:

* 下述**每隔20秒回重新計算之前60秒內的所有資料,如果視窗滑動時間間隔太短,那麼需要重新計算的資料就比較大,非常耗時

* 怎麼理解呢?視窗滑動時間間隔短的話,與視窗長度的交集每次都必須重新計算,浪費資源,避免交集太大的話就應該設定滑動間隔長一點

* //第乙個seconds是視窗大小(3個rdd一共需要的時間),第二個seconds是視窗間隔時間

* searchpair.reducebykeyandwindow((v1:int, v2:int) => v1+v2, (v1:int, v2:int) => v1-v2, seconds(60), seconds(20))

*object onlinehotitems )

result.print()

ssc.start()

ssc.awaittermination()

}}

Cesium popup窗 氣泡窗 提示窗外掛程式

首先向關注我的各位小夥伴說一聲對不起,好久沒有更新csdn了,最近因為自己也在看opengl的一些學習資料和cesium的原始碼,所以耽擱了,在此也向對小夥伴們說一聲對不起。因為二維地圖的外掛程式大部分都帶氣泡窗,但是三維裡不帶,所以得重新寫。我這裡是參照leaflet的氣泡風格寫的。第一種 是乙個...

Spark Streaming入門詳解

背景 使用spark主要是使用spark streaming,spark streaming的魔力之所在於 1.流式處理,如今是乙個流處理時代,一切與流不相關的都是無效的資料。3.spark streaming本身是乙個程式,spark streaming在處理資料的時候會不斷感知資料。所以對構建複...

Spark Streaming 程式監控

官網中指出,spark中專門為sparkstreaming程式的監控設定了額外的途徑,當使用streamingcontext時,在web ui中會出現乙個 streaming 的選項卡,在此選項卡內,統計的內容展示如下 這其中包括接受的記錄數量,每乙個batch內處理的記錄數,處理時間,以及總共消耗...