1
我們可以使用窗口創建轉化DStream
具有更大的批次:星火流 - 滑動窗口和使用不同的
streamIDs.window(Duration(1000)).foreachRDD(rdd => println(rdd.distinct().count()))
有沒有什麼辦法讓同在幻燈片持續時間也可作爲移動窗口參數?
我們可以使用窗口創建轉化DStream
具有更大的批次:星火流 - 滑動窗口和使用不同的
streamIDs.window(Duration(1000)).foreachRDD(rdd => println(rdd.distinct().count()))
有沒有什麼辦法讓同在幻燈片持續時間也可作爲移動窗口參數?
您是否試圖濾除窗口中的重複項?在這種情況下,你可以通過你的RDD映射到鍵值對,其中關鍵是原始元素的副本,該值並不重要模擬不同的窗口上面,說null
:
streamIDs
.mapToPair(lambda s : (s, null))
.reduceByKeyAndWindow(lambda t1, t2 : t1, Duration(1000))
.map(lambda (x, y) : x)
這將從每個滑動窗口創建不同值的DStream。
如果你也想在每個窗口的每個值的數量,請執行下列操作:
streamIDs
.mapToPair(lambda s : (s, 1))
.reduceByKeyAndWindow(lambda t1, t2 : t1 + t2, Duration(1000))
這將創造價值數對,例如一個DSTREAM ('A', 3), ('B', 5)...