Flink 源码解读系列 DataStream 窗口 Window 实现

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink 源码解读系列 DataStream 窗口 Window 实现相关的知识,希望对你有一定的参考价值。

传送门:Flink 系统性学习笔记


Flink 1.13.5

在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理。当然我们可以每来一条消息就处理一次,但是有时我们需要做一些聚合类的处理,例如计算在过去 1 分钟内有多少用户点击了我们的网页。在这种情况下,我们必须定义一个窗口,用来收集最近一分钟内的数据,并对这个窗口内的数据进行计算。

窗口本质上是将无界数据流进行有界数据处理的过程,一般来说窗口在无界数据流上定义了一组有限的元素。可以基于时间、元素个数、元素个数和时间的组合或者一些自定义逻辑来将数据分配给不同窗口。在 Flink 的 DataStream API 中窗口使用 Window 来表示:

public abstract class Window 
   
    public abstract long 

以上是关于Flink 源码解读系列 DataStream 窗口 Window 实现的主要内容,如果未能解决你的问题,请参考以下文章

Flink 源码解读

Flink 源码解读系列 DataStream 数据流元素 StreamElement

Flink 源码解读系列 DataStream 数据流元素 StreamElement

Flink 源码解读系列 DataStream 窗口分配器 WinowAssigner

Flink 源码解读系列 DataStream 窗口分配器 WinowAssigner

Flink 源码解读系列 DataStream 时间服务管理器 TimeServiceManager 设计与实现