Я читаю статью Тайлера Акидау the-world-beyond-batch-streaming-102 . Что касается водяного знака, я все еще немного сбит с толку, то есть по поводу кода в статье:
PCollection<KV<String, Integer>> scores = input
.apply(Window.into(FixedWindows.of(Duration.standardMinutes(2)))
.triggering(AtWatermark()))
.apply(Sum.integersPerKey());
Он просто сообщает о срабатывании двигателя на водяном знаке, но как двигатель узнает водяной знак? Как я понимаю, это должна быть какая-то задержка, которую должен сказать пользователь. Или движок построен настолько умно, что пытается создать его (в соответствии со стратегией или конфигурацией по умолчанию) для пользователей?
Большое спасибо.