取决于你的计算流图,watermark 通常只在以下情况有实际作用

True
& cond 1. 使用 EventTime
& cond 2. 流图中有 Timer 触发逻辑,例如 Window 算子或自定义 Timer

Best,
tison.


amenhub <[email protected]> 于2021年2月1日周一 上午10:26写道:

> hi everyone,
>
> 最近在使用Stream API或Table API&SQL编写任务,接Kafka数据流写HDFS的时候,关于水印有几个问题想请教社区帮忙答疑。
>
> 在我的理解中,水印本意是容忍事件时间的延迟(乱序程序),在不能容忍的时候触发窗口计算,以达到输出该窗口结果的目的。
> 那么,
> 1.在Kafka入HDFS的过程中,水印的作用具体是什么呢?貌似无窗口计算?
>
> 2.如果我在SQL或StreamAPI中使用ForBoundedOutOfOrderness中基于事件时间设置允许5分钟延迟的水印,那么Kafka各分区最小时间的水印到达后,比水印晚的数据还会写入HDFS(基于事件时间分区)对应的分区中吗?是丢弃?还是不丢弃它写入对应分区后再重新幂等提交该分区?
>
> best,
> amenhub
>
>
>
>

回复