暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

flink学习笔记(3)-时间语义

beenrun 2022-03-06
228

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


01


时间语义解决的问题


1.流式场景中时间语义和不同时间概念

2.流数据如何基于乱序事件产生精确结果

3.如何使用事件流进行历史事件处理



02



流处理场景下1分钟的含义


  1. 玩游戏:信号不好断线30秒

  2. 30秒后又接收上传数据,那么离线的30秒玩的游戏的积分如何处理

    处理方式

  3. 每分钟收到的数据,是由数据本身决定的

  4. 不是接收到数据的时间:否则没人玩你的游戏了



03


时间的概念


  1. 处理时间:当前流处理算子所在机器的本地时间

2.事件时间

(1)数据流中事件实际发生的时间

(2)它以附加在数据流中事件的时间戳为依据

(3)事件时间将处理速度与结果内容彻底解耦

(4)无论数据流的处理速度如何、事件到达时间顺序怎样,基于事件时间的窗口都会生成同样的结果

3.要克服的挑战之一:延迟事件

4.可以对结果重放



04


水位线


  1. 全局进度指标

  2. 在某个时间点,我们确信不会再有延迟数据了, 

  3. 本质:提供一个逻辑时钟,用来通知系统,当前的事件时间

  4. 存在问题:

        (1)准确性

(2)延迟

    5. 问题情况

        (1)暂时掉线

        (2)在飞机上

        (3)退坑补玩

    6.解决方法:

    (1)忽略

    (2)写入日志,利用日志修正之前结果

    (3)具体看需求

05


处理时间和事件时间关系


  1. 处理时间:提供很低的延迟,结果依赖处理速度,具有不确定性

  2. 事件时间:保证结果准确,可以处理延迟,无序事件



谢谢阅读!


欢迎大家关注、点赞、收藏!分享知识!


奇迹的出现往往就在再坚持一下的时候!





文章转载自beenrun,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论