小编Joh*_*one的帖子

窗口操作符行为澄清后的 Apache Flink KeyedStream

我请求澄清 Apache Flink (1.6.0) 在事件通过窗口发送并应用了某些运算符(例如 reduce() 或 process())后如何处理来自 KeyedStreams 的事件。

假设一个单节点集群,在对键控窗口流执行操作后,是否只剩下 1 个数据流或k 个数据流(其中k是键的唯一值的数量)?

为了澄清起见,考虑需要从某个源读取事件,按某个k键,将键控事件发送到某个窗口流中,减少,然后执行几乎所有其他操作。下面两张图中哪一张实际上会被构建出来?

图A

                     |--------------|
                     |    source    |
                     | (DataStream) |
                     |--------------|
                            |
                       [all events]
                            |
                            v
                     |--------------|
                     |  key by( k ) |
                     | (KeyedStream)|
                     |--------------|
                   /         |        \
                 /           |          \
            [ k = 1 ]    [ k = 2 ]    [ k = 3 ]
             /               |               \
           /                 |                 \
         v                   v                   v
|------------------||------------------||------------------|
|  sliding window  || …
Run Code Online (Sandbox Code Playgroud)

partitioning topography sliding-window apache-flink flink-streaming

5
推荐指数
1
解决办法
1186
查看次数