当前位置:   article > 正文

flink-note笔记:watermark的传递_窗口未触发 watermark能否传到下游算子

窗口未触发 watermark能否传到下游算子

github开源项目flink-note的笔记。本博客的实现代码写在项目的flink-window/src/main/java/com/wxwmd/window/watermark/WatermarkPass.java文件中。
项目github地址: github
项目gitee地址:gitee


watermark传递的概念

flink中,watermark需要从上有算子向下游算子进行传递,比方说我们在读取source时,给source带上了watermark,后续要使用source流进行窗口聚合等操作,而一些窗口的触发是需要watermark来参与的(watermark大于窗口的最大时间,触发窗口计算),因此,watermark的传递很重要。
传递规则是:下游算子的watermark是上游算子中watermark最小的那一个。这种传递规则是很好理解的,因为watermark标志的是在此之前的数据已经完全到来,所以上有算子中最小的watermark代表着所有上游算子的共识,因为所有上游算子都认为在这个watermark之前的数据已经全部到来了。


代码解析

要运行flink-window/src/main/java/com/wxwmd/window/watermark/WatermarkPass.java,首先需要打开main方法中定义的socket接口

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/480346
推荐阅读
相关标签
  

闽ICP备14008679号