flink支持哪些时间语义?
作者:互联网
flink的窗口时间属性TimeCharacteristic分为三种:ProcessingTime,IngestionTime,EventTime。
1.事件时间(Event Time):这是实际应用最常见的时间语义。
事件时间是一个event实际发生的时间,它基于事件流中event被打上的时间戳。时间戳一般存储与event 数据中。下图展示了一个event-time 窗口,可以正确的将events放入合适的窗口中,反应了事件实际发生的情况,即使事件的到达存在延迟。
2.处理时间(Processing Time):没有事件时间的情况下,或者对实时性要求超高的情况下。
处理时间是处理流的operator在执行时,所属机器上的本地时间。Processing-time 窗口包含所有在一个时间周期内到达window operator 的events,以本地机器时间衡量。如下图所示,在小明游戏的案例中,在小明的手机断开连接后,processing-time 窗口仍会持续计时,所以不会将小明断网时间内的events计入到当前时间段。
3.摄入时间(Ingestion Time):存在多个 Source Operator 的情况下,每个 Source Operator可以使用自己本地系统时钟指派 Ingestion Time。后续基于时间相关的各种操作,都会使用数据记录中的 Ingestion Time。
了解更多大数据培训相关课程知识欢迎关注小编!
标签:窗口,哪些,flink,语义,events,Ingestion,时间,Time,event 来源: https://www.cnblogs.com/majhw/p/15341798.html