Какой водяной знак по умолчанию в фиксированном оконном режиме? - PullRequest
0 голосов
/ 30 апреля 2018

Я читаю статью Тайлера Акидау 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());

Он просто сообщает о срабатывании двигателя на водяном знаке, но как двигатель узнает водяной знак? Как я понимаю, это должна быть какая-то задержка, которую должен сказать пользователь. Или движок построен настолько умно, что пытается создать его (в соответствии со стратегией или конфигурацией по умолчанию) для пользователей?

Большое спасибо.

1 Ответ

0 голосов
/ 01 мая 2018

Google Dataflow (это то, что Тайлер Акидау описывает в цитируемой вами статье) может использовать эвристику для оценки водяных знаков - см. этот ответ для получения более подробной информации.

Flink, с другой стороны, зависит от явных водяных знаков, которые либо испускаются источником данных , либо генератором водяных знаков . Наиболее распространенный подход - предполагать ограниченную задержку.

...