hi, 图挂了。

1. 可以这么使用这个方法:

···

input.assignTimestampsAndWatermarks(
        
WatermarkStrategy.<String>forBoundedOutOfOrderness(Duration.ofMillis(10))
                .withTimestampAssigner((event, timestamp) -> 42L));

···
TimestampAssigner 会从输入的event上读取数据 并由watermark generator 决定输出对应的watermark.

3. 容忍是由于数据会乱序.

Best,
Shengkai

陈柏含 <[email protected]> 于2021年4月1日周四 下午5:16写道:

> 您好:
>
> 我是目前正在自学Flink以完成毕业设计的计算机专业学生。目前对Flink时间戳与水位线的代码有很多不确定且找不到权威解答的疑问,自己调试程序也因为之前没有Flink经验而对Debug变量窗口中各种复杂的结构找不到头绪。因此,抱着试一试的想法尝试通过这个邮箱寻求解答。
>      下面两个图片是一个分配器
>
>
>
> 我有一下几个疑问:1.是不是我们只要调用env.addSource(...).assignTimestampsAndWatermarks(new
> PeriodicAssigner)就能分配时间戳和水位线了呢?但是我看不到这个类中有分配时间戳的行为,好像只是和获取时间戳和分配水位线相关。
>    2.maxTs这个变量为什么能够从Long.MinValue中观察到最大的时间戳呢?
>    3.这段代码的解释中提到“该分配器会返回一个时间戳等于最大时间戳减去1分钟容忍间隔的水位线”,这里所说的容忍间隔的目的是什么呢?
>
>     感谢您的回复,非常感谢您的点拨!
>

回复