星火流 - 滑动窗口和使用不同的

问题描述:

我们可以使用窗口创建转化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)...