赞
踩
github开源项目
flink-note
的笔记。本博客的实现代码写在项目的flink-window/src/main/java/com/wxwmd/window/watermark/WatermarkPass.java
文件中。
项目github地址: github
项目gitee地址:gitee
在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接口
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。