在Apache Spark Streaming中,reduceByKeyAndWindow使用户能够在旧数据过期时提供反转函数。程序员可以使用此函数来减少已删除事件的计数值。
我想知道如何在Apache Flink中实现相同的效果。
这是一个特定于 Spark 的构造,Flink 不使用,因为它的窗口实现工作方式不同。它用于滑动窗口,以"撤消"聚合"。
由于 Flink 不需要跨小批量(而只需跨内部窗格)进行最终聚合,并且不需要将窗口对齐到小批量,因此这个技巧不是必需的,它也可以在没有的情况下非常快速地工作。