2024-04-29 15:57:15 发布
网友
我们可以使用window创建具有更大批处理的DStream:
DStream
streamIDs.window(Duration(1000)).foreachRDD(rdd => println(rdd.distinct().count()))
在一个滑动持续时间也作为参数的移动窗口中,有没有什么方法可以做到这一点呢?在
你想过滤掉窗口中的重复项吗?在这种情况下,您可以通过将RDD映射到键-值对来模拟distinct,其中键是原始元素的副本,而值并不重要,例如null:
null
streamIDs .mapToPair(lambda s : (s, null)) .reduceByKeyAndWindow(lambda t1, t2 : t1, Duration(1000)) .map(lambda (x, y) : x)
这将从每个滑动窗口创建一个不同值的数据流。在
如果还需要每个窗口中每个值的计数,请执行以下操作:
这将创建一个值计数对的数据流,例如('A', 3), ('B', 5)...
('A', 3), ('B', 5)...
你想过滤掉窗口中的重复项吗?在这种情况下,您可以通过将RDD映射到键-值对来模拟distinct,其中键是原始元素的副本,而值并不重要,例如
null
:这将从每个滑动窗口创建一个不同值的数据流。在
如果还需要每个窗口中每个值的计数,请执行以下操作:
^{pr2}$这将创建一个值计数对的数据流,例如
('A', 3), ('B', 5)...
相关问题 更多 >
编程相关推荐