Apache flink ApacheFlink:countWindow()是在发生大量事件后处理代码的正确方法吗?

Apache flink ApacheFlink:countWindow()是在发生大量事件后处理代码的正确方法吗?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,关于ApacheFlink 1.8.1 我正在阅读,我正在试图弄清楚使用countWindow(size:Int)是否适合我的用例:当N个用户访问我网站的帮助页面时,我想将他们全部标记为客户服务推广。我很困惑,因为关于.countWindow()的文档非常有限,而且我很难确定是否有人反对使用另一种方法 我只是涉猎了一下(忽略红色亮点): countWindow()的源代码如下所示: 然后发现文件是如此有限。充其量,我发现它列在1.3文档中,但我的IDE并没有表明它已被弃用。还有一个似乎不相关

关于ApacheFlink 1.8.1

我正在阅读,我正在试图弄清楚使用
countWindow(size:Int)
是否适合我的用例:当N个用户访问我网站的帮助页面时,我想将他们全部标记为客户服务推广。我很困惑,因为关于
.countWindow()
的文档非常有限,而且我很难确定是否有人反对使用另一种方法

我只是涉猎了一下(忽略红色亮点):

countWindow()
的源代码如下所示:

然后发现文件是如此有限。充其量,我发现它列在1.3文档中,但我的IDE并没有表明它已被弃用。还有一个似乎不相关的问题:


我是走错了兔子洞,还是有更好的方法来处理上面的特定边缘情况?

它没有被弃用,您发布的是一个可以在表API中使用的操作符,因此它没有直接连接到您根据代码使用的流API

您粘贴的代码显示了coun windowing的正确用法

至于使用计数窗口是否是一个好主意的问题,这取决于

从技术上讲,这应该是可行的,但是如果你有很多用户只访问一个页面,那么这将创建很多没有关闭的窗口,所以你应该自己处理

通常,通过使用
KeyedProcessFunction
ValueState
来保持访问次数,应该更容易做到这一点