本文介绍了流式计算中时间语义和不同的时间概念,流式场景中的一分钟是什么含义?什么是处理时间?什么是时间时间?水位线又是什么?

01
—
时间语义解决的问题
1.流式场景中时间语义和不同时间概念
2.流数据如何基于乱序事件产生精确结果
3.如何使用事件流进行历史事件处理
02
—
流处理场景下1分钟的含义
玩游戏:信号不好断线30秒
30秒后又接收到上传数据,那么离线的30秒玩的游戏的积分如何处理
处理方式
每分钟收到的数据,是由数据本身决定的
不是接收到数据的时间:否则没人玩你的游戏了
03
—
时间的概念
处理时间:当前流处理算子所在机器的本地时间

2.事件时间
(1)数据流中事件实际发生的时间
(2)它以附加在数据流中事件的时间戳为依据
(3)事件时间将处理速度与结果内容彻底解耦
(4)无论数据流的处理速度如何、事件到达时间顺序怎样,基于事件时间的窗口都会生成同样的结果

3.要克服的挑战之一:延迟事件
4.可以对结果重放
04
—
水位线
全局进度指标
在某个时间点,我们确信不会再有延迟数据了,
本质:提供一个逻辑时钟,用来通知系统,当前的事件时间
存在问题:
(1)准确性
(2)延迟
5. 问题情况
(1)暂时掉线
(2)在飞机上
(3)退坑补玩
6.解决方法:
(1)忽略
(2)写入日志,利用日志修正之前结果
(3)具体看需求
05
—
处理时间和事件时间关系
处理时间:提供很低的延迟,结果依赖处理速度,具有不确定性
事件时间:保证结果准确,可以处理延迟,无序事件
谢谢阅读!
欢迎大家关注、点赞、收藏!分享知识!
奇迹的出现往往就在再坚持一下的时候!
文章转载自beenrun,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




