我有一个带有事件时间的数据流,是否可以在 Apache Flink 中发出没有数据的窗口?例如,对于翻转窗口大小为 15 minutes
例如,如果窗口在 [(0, 15), (15, 20), ...]
时间段内没有事件,我可以清空窗口将是理想的选择。
不,这是不可能的。Flink 的窗口运算符仅在添加第一个事件时创建一个窗口。
不为空窗口发出结果的原因是,窗口通常是在键控流上定义的(如果不对流进行键控,则无法并行处理窗口(。如果 Flink 会在键控流上发出空窗口的记录,则需要为每个可能的键值发出一个结果。由于可能的键太多,这是不可能的。