zoukankan      html  css  js  c++  java
  • Watermarker详解

    Watermaker如何触发窗口计算的?

    窗口计算的触发条件为:
    1.窗口中有数据
    2.Watermaker >= 窗口的结束时间
    Watermaker = 当前窗口的最大的事件时间 - 最大允许的延迟时间或乱序时间
    也就是说只要不断有数据来,就可以保证Watermaker水位线是会一直上升/变大的,不会下降/减小的
    所以最终一定是会触发窗口计算的

    注意:
    上面的触发公式进行如下变形:
    Watermaker >= 窗口的结束时间
    Watermaker = 当前窗口的最大的事件时间 - 最大允许的延迟时间或乱序时间
    =>当前窗口的最大的事件时间 - 最大允许的延迟时间或乱序时间 >= 窗口的结束时间
    =>当前窗口的最大的事件时间 >= 窗口的结束时间 + 最大允许的延迟时间或乱序时间

    ==总结:==

    1.Watermarker本质是时间戳

    2.Watermarker = 当前进来的数据最大的事件时间 - 最大允许的数据延迟时间或乱序时间

    3.Watermarker 可以通过改变窗口触发计算时机来解决一定程度上的数据乱序或延迟达到的问题

    4.Watermarker >= 窗口结束时间时触发窗口计算

    5.当前的最大的事件时间 - 最大允许的数据延迟时间或乱序时间>= 窗口结束时间时触发窗口计算

    6.当前的最大的事件时间 >= 窗口结束时间 +最大允许的数据延迟时间或乱序时间时触发窗口计算

  • 相关阅读:
    JavaWeb-对象增强的方式
    JavaWeb-dbcp连接池
    eclipse发送音频等大数据包到数据库的异常解决方案
    JDBC-prepareStatement预编译
    JDBC原理
    JDBC入门
    当我们说前端,我们在说什么?
    markdown上下左右,跳至行尾行首,重设快捷键
    web API简介(四):客户端储存之IndexedDB API
    过年搭出租车攻略
  • 原文地址:https://www.cnblogs.com/kpwong/p/15647984.html
Copyright © 2011-2022 走看看