新版本的Watermark触发边界不一样了吗
来源:16-6 新版本WM的用法

端碗吹水
2022-02-20
老版本是输入 4999,a,1 时就触发窗口的全量计算,新版本则是输入 5000,a,1 时才触发窗口的全量计算
代码如下:
public static void example(StreamExecutionEnvironment env) { // 当前版本的写法 var lines = env.socketTextStream("localhost", 9527) .assignTimestampsAndWatermarks( WatermarkStrategy.<String>forBoundedOutOfOrderness(Duration.ofSeconds(0)) .withTimestampAssigner((element, timestamp) -> Long.parseLong(element.split(",")[0])) ); doCompute(lines); }
nc命令的输入:
1000,a,1 2000,a,1 4999,a,1 5000,a,1
控制台输出:
---------reduce invoked--------- a ==> 2 ---------reduce invoked--------- a ==> 3 21> [1970-01-01 08:00:00, 1970-01-01 08:00:05] f0: a f1: 3
写回答
1回答
-
对的,新老版本wm的边界触发条件是不一样了,这个你可以看下本课程的新老API的对比
022022-02-22
相似问题