flink之时间概念

1、事件时间:

指一条消息的创建时间,比如你半夜12点0分在网上购买了一件衣服,
这个时候就会产生一条消息,你买的是什么,买了多少,付款多少,什么时间买的,
最后加一个时间戳,这个时间戳就表示这个消息的事件时间。

2、摄取时间:

指的是消息进入流计算框架的时间,有的消息会有残缺的情况,
如果这条消息没被打上产生时间戳,那么流处理器会补上一个时间戳,
即流处理器第一次看到这个消息的时间,
这个操作会有source函数完成,source函数是程序的第一个处理节点。

3、处理时间:

消息被正儿八经的处理的时间

假如12点0分和12点一分都产生了一条消息,在两条消息在发送到flink的过程中,12点一分的那条消息首先被flink接受到了,但是12点0分那条消息,由于网络的波动,废了很大劲才传到flink,落后了第一条消息很久的时间,这种情况说明,消息流是以一种乱序的状态到到达流处理器的。

根据应用场景的不同,事件时间和处理时间有各自的作用,有些场景,如一些预警应用程序,需要尽可能快的得到结果,即使有小的误差也不会有太大的影响,他们不必等待迟到的消息,因此适合采用处理时间。
但是对准确性要求很高的场景,如银行账单系统,就必须按照消息的产生时间来做处理。

你可能感兴趣的:(flink)