Apache Flink:.countWindow() 是在发生许多事件后处理代码的正确方法吗?
Apache Flink: is .countWindow() the proper way to process code after a number of events occur?
在 Apache Flink 1.8.1 上
我正在阅读 https://flink.apache.org/news/2015/12/04/Introducing-windows.html 并且我正在尝试弄清楚使用 countWindow(size: Int)
是否适合我的用例:当 N 位用户访问我网站的帮助页面时,我会喜欢将它们全部标记为客户服务外展。我很困惑,因为关于 .countWindow()
的文档有限,而且我很难确认它是否已被弃用以支持另一种方法。
我正在涉足这个(忽略红色高亮部分):
countWindow()
的源代码显示如下:
然后查找文档非常有限。充其量,我发现它列在 1.3 文档中,但我的 IDE 并不表示它已被弃用。然后是这个,这似乎无关紧要:https://ci.apache.org/projects/flink/flink-docs-release-1.9/api/java/org/apache/flink/table/runtime/operators/window/CountWindow.html
我是不是走错了路,还是有更好的 Flink 方法来满足我上面的特定边缘情况?
它没有被弃用,你发布的是一个可以在 Table API 中使用的运算符,所以它没有直接连接到你的 Streaming API按照代码使用。
您粘贴的代码显示了 count windowing 的正确用法。
至于使用 Count window 是否是个好主意的问题 - 这取决于。
从技术上讲,这应该可行,但如果您有许多用户只访问一个页面,那么这将创建很多未关闭的 windows,因此您应该自己处理。
一般来说,使用 KeyedProcessFunction
和 ValueState
应该更容易做到这一点,这样可以保持访问次数。
在 Apache Flink 1.8.1 上
我正在阅读 https://flink.apache.org/news/2015/12/04/Introducing-windows.html 并且我正在尝试弄清楚使用 countWindow(size: Int)
是否适合我的用例:当 N 位用户访问我网站的帮助页面时,我会喜欢将它们全部标记为客户服务外展。我很困惑,因为关于 .countWindow()
的文档有限,而且我很难确认它是否已被弃用以支持另一种方法。
我正在涉足这个(忽略红色高亮部分):
countWindow()
的源代码显示如下:
然后查找文档非常有限。充其量,我发现它列在 1.3 文档中,但我的 IDE 并不表示它已被弃用。然后是这个,这似乎无关紧要:https://ci.apache.org/projects/flink/flink-docs-release-1.9/api/java/org/apache/flink/table/runtime/operators/window/CountWindow.html
我是不是走错了路,还是有更好的 Flink 方法来满足我上面的特定边缘情况?
它没有被弃用,你发布的是一个可以在 Table API 中使用的运算符,所以它没有直接连接到你的 Streaming API按照代码使用。
您粘贴的代码显示了 count windowing 的正确用法。
至于使用 Count window 是否是个好主意的问题 - 这取决于。
从技术上讲,这应该可行,但如果您有许多用户只访问一个页面,那么这将创建很多未关闭的 windows,因此您应该自己处理。
一般来说,使用 KeyedProcessFunction
和 ValueState
应该更容易做到这一点,这样可以保持访问次数。