Flink 窗口 Window 介绍

Posted @SmartSi

tags:

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

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


数据分析场景见证了批处理到流处理的演变过程。尽管批处理可以作为流处理的一种特殊情况来处理,但分析永无止境的流数据通常需要转变一种思维方式,并使用它自己的专门术语,例如,窗口、At-Least-Once 或者 Exactly-Once 处理语义。

对于刚刚接触流处理的人来说,这种思维方式的转变以及新的专业术语可能会让他们感到非常困惑。但是,Apache Flink 作为一个为生产环境而生的流处理器,具有易于使用并且表达能力很强的 API 来定义高级流分析程序。Flink 的 API 在数据流上有非常灵活的窗口定义,使其能在其他开源流处理器中脱颖而出。

在这篇文章中,我们主要讨论用于流处理的窗口的概念,介绍 Flink 的内置窗口,并说明其对自定义窗口语义的支持。

1. 什么是窗口?它们有什么用?

我们拿交通传感器的例子来说明,传感器每15秒统计通过某个位置的车辆数量。结果流看起来像如下所示:

如果现在我们想知道有多少辆车经过这个位置,我们只需简单的将每15秒统计的数量相加即可。但是,传感器流的本质是连续产生数据。像这样的流永远都不会结束,更不可能计算出可以返回的最终和。换一种思路,我们可以滚动计算总和,即为每个输入

以上是关于Flink 窗口 Window 介绍的主要内容,如果未能解决你的问题,请参考以下文章

Flink窗口Window机制详解

Flink 窗口 Window 介绍

Flink 窗口 Window 介绍

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

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

Flink的双流join介绍