火花流媒体 - 滑动窗口和使用差异

2024-04-29 15:57:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我们可以使用window创建具有更大批处理的DStream

streamIDs.window(Duration(1000)).foreachRDD(rdd => println(rdd.distinct().count())) 

在一个滑动持续时间也作为参数的移动窗口中,有没有什么方法可以做到这一点呢?在


Tags: 方法参数countwindow持续时间durationrddprintln
1条回答
网友
1楼 · 发布于 2024-04-29 15:57:15

你想过滤掉窗口中的重复项吗?在这种情况下,您可以通过将RDD映射到键-值对来模拟distinct,其中键是原始元素的副本,而值并不重要,例如null

streamIDs
    .mapToPair(lambda s : (s, null))
    .reduceByKeyAndWindow(lambda t1, t2 : t1, Duration(1000))
    .map(lambda (x, y) : x)

这将从每个滑动窗口创建一个不同值的数据流。在

如果还需要每个窗口中每个值的计数,请执行以下操作:

^{pr2}$

这将创建一个值计数对的数据流,例如('A', 3), ('B', 5)...

相关问题 更多 >