Flink中定义了三种时间类型:事件时间(Event Time)、处理时间(Processing Time)、处理时间(Processing Time)。

事件时间(Event Time):顾名思义事件发生的时间,一旦发生就不可改变。

处理时间(Processing Time):处理时间指消息被计算引擎处理的时间,以各个计算节点的本地时间为准。

处理时间(Processing Time):摄取时间指事件进入流处理系统的时间,对于一个事件来说,使用其被读取的那一刻的时间戳作为摄取时间。

对于数据的处理分为批处理和流处理,对于乱序无界的数据流,数据产生的时间和数据真正被处理的时间偏差很大,用于推理时间的工具就很重要。其中有一个重点工具就是窗口。批处理的本质是处理有限不变的数据集,流处理的本质是处理无限持续产生的数据集,所以批本质上是流的一种特例,而窗口就是批流统一的桥梁,对流上的数据进行窗口切分。一旦到了一定时刻,窗口内的数据就是一个不变的数据集。对窗口内数据的计算可以近似看作是批处理。

窗口也分为三种类型:计数窗口(Count Window)、时间窗口(Time Window)、会话窗口(Session Window)

计数窗口(Count Window):1、Tumble Count Window:累计固定个数的窗口数   2、Sliding  Count  Window:累计固定个数的元素视为一个窗口,一旦超过就产生一个新的窗口。

时间窗口(Time Window):1、Tumble Time Window :在时间上按照事先约定的窗口大小切分的窗口,窗口之间不会相互重叠。  2、Sliding  Time  Window:在时间上按照事先约定的窗口大小、滑动步长切分的窗口,窗口之间可能会存在相互重叠。

会话窗口(Session Window):一种特殊的窗口,一段时间没有接受到新的数据,该窗口视为结束。窗口的长度和元数个数不被确定,窗口之间也不会相互重叠。

flink on yarn 停止会话 flink processing time_flink