熟悉flink的同学(说明次系列篇幅不适合没有flink基础同学)都知道flink优于其他实时计算引擎的一个很重要的特点就是提供了Event Time这样一个概念,也就是我们所说的事件时间,能够让用户按照事件(数据)所发生的时间去处理,从而精确还原数据场景。flink 中提供了三种时间概念:处理时间、事件时间、注入时间,在次系列篇幅中主要分析在实际使用中用户常常关心的处理时间与事件时间,以及在flink runtime中是如何处理这两种时间机制的,将会按照以下几个篇幅介绍:
一、时间系统概述介绍
二、Processing Time源码分析
三、Event Time源码分析
四、时间系统在窗口函数中的应用分析
五、ProcessFunction 使用分析
六、实例讲解:如何做定时输出
次篇幅将会介绍flink 中时间系统的一些简单介绍。先奉上时间分类一张经典的图片
Event Time
Event Time 是事件发生的时间,一般就是数据本身携带的时间。这个时间通常是在事件到达 Flink 之前就确定的,并且可以从每个事件中获取到事件时间戳,从另外一个角度说明,由于其事件时间属性不会改变,那么使用Event Time 处理数据在任何