您好: 我是目前正在自学Flink以完成毕业设计的计算机专业学生。目前对Flink时间戳与水位线的代码有很多不确定且找不到权威解答的疑问,自己调试程序也因为之前没有Flink经验而对Debug变量窗口中各种复杂的结构找不到头绪。因此,抱着试一试的想法尝试通过这个邮箱寻求解答。 下面两个图片是一个分配器
我有一下几个疑问:1.是不是我们只要调用env.addSource(...).assignTimestampsAndWatermarks(new PeriodicAssigner)就能分配时间戳和水位线了呢?但是我看不到这个类中有分配时间戳的行为,好像只是和获取时间戳和分配水位线相关。 2.maxTs这个变量为什么能够从Long.MinValue中观察到最大的时间戳呢? 3.这段代码的解释中提到“该分配器会返回一个时间戳等于最大时间戳减去1分钟容忍间隔的水位线”,这里所说的容忍间隔的目的是什么呢?
感谢您的回复,非常感谢您的点拨!*来自志愿者整理的flink
···
input.assignTimestampsAndWatermarks( WatermarkStrategy. forBoundedOutOfOrderness(Duration.ofMillis(10)) .withTimestampAssigner((event, timestamp) -> 42L));
··· TimestampAssigner 会从输入的event上读取数据 并由watermark generator 决定输出对应的watermark.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。