知乐空间

好看的水印素材(适合做水印的英文)

当flink流式传输数据时,在大多数情况下,流向操作符的数据是按照事件的时间顺序来的。但不排除网络抖动、反压等原因导致失序。所谓无序,是指Flink接收到的事件顺序不严格按照事件的事件时间顺序。

下面的场景:

使用时间窗口统计10分钟内的用户流量。

时间窗口:2017年3月19日10:00:00-2017年3月19日10: 10: 00

数据59由于网络延迟,事件时间为2017年3月19日10: 09: 00,处理时间为2017年3月19日10: 10: 02。

此时,根据eventTime,如果2017年3月19日10: 10: 01又有一条数据(事件时间为2017年3月19日10: 10: 00)进入此窗口,则该窗口将被关闭。因为59在2017年3月19日10: 10: 02才到达,因为属于59的窗口提前关闭,所以会遗漏59,导致数据统计不准确。

事件窗口:根据传入数据的事件时间判断是否关闭窗口。如果一个新进来的数据是下一个窗口的数据,前一个窗口将被关闭。

使用水印解决乱序问题

1.水印是一个时间戳。

2.Flink可以在数据流中添加水印,可以理解为:接收到一条消息后,在消息中添加一个额外的时间字段,即添加水印。一般人工添加消息的水印会晚于当前消息的事件时间。

3.根据水印时间判断窗口是否关闭,但不会修改原来的事件时间,窗口边界仍由事件时间决定。

(1)水印不会影响原始的Eventtime。

(2)数据流加水印时,会根据水印时间触发窗口计算。

(3)一般会设置水印时间,比Eventtime晚(一般几秒)

(4)当收到水印时间

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

留言与评论(共有 0 条评论)
验证码: