知识卡片
事件时间与处理时间的本质区别
内容
流计算中有两种时间语义:事件时间是数据在产生设备上被记录的时刻,处理时间是数据被计算节点实际处理的机器时刻。二者的关键差异在于确定性——用事件时间作为计算依据,同样的输入数据无论何时重放、重跑多少次,得到的结果都一致;用处理时间则因为计算发生的实际时刻不可控,多次运行结果会不一致。这也是为什么强调正确性的流计算场景(如金融对账)几乎都选事件时间,只有追求极致低延迟且能容忍结果轻微漂移的场景才用处理时间。介于两者之间还有摄入时间,即数据进入计算框架的时刻。
参考来源
《Flink入门与实战》第2章《定义、架构与原理》