0
点赞
收藏
分享

微信扫一扫

Java 集合Collection(List、Set)Map

引言

已经了解了 Flink 中窗口的概念和分类,接下来我们就要看看在代码中怎样使用了。

窗口 API 概览

  1. 按键分区(Keyed)和非按键分区(Non-Keyed)
    在定义窗口操作之前,首先需要确定,到底是基于按键分区(Keyed)的数据流 KeyedStream来开窗,还是直接在没有按键分区的 DataStream 上开窗。也就是说,在调用窗口算子之前,是否有 keyBy 操作。

(1)按键分区窗口(Keyed Windows)
经过按键分区 keyBy 操作后,数据流会按照 key 被分为多条逻辑流(logical streams),这就是 KeyedStream。基于 KeyedStream 进行窗口操作时, 窗口计算会在多个并行子任务上同时执行。相同 key 的数据会被发送到同一个并行子任务,而窗口操作会基于每个 key 进行单独的处理。所以可以认为,每个 key 上都定义了一组窗口,各自独立地进行统计计算
在代码实现上,

举报

相关推荐

0 条评论