微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。

了解更多大数据培训相关课程知识欢迎关注小编!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐