Flink keyed windows водяной знак - PullRequest
       14

Flink keyed windows водяной знак

0 голосов
/ 29 апреля 2020

Я использую flink с указанием времени события windows. Похоже, что некоторые из windows не излучаются.
Является ли водяной знак расширенным для каждого ключа в отдельности?
Например, если мой ключ (id, type) и определенная пара c Идентификатор и тип не поступают в источник, не будет ли указываться их водяной знак в окне c? Если это так, как я могу убедиться, что все мои ключи windows будут выселены через некоторое время? (у нас много ключей, поэтому отправка фиктивного сообщения c для каждого ключа не вариант).

Буду признателен за любую помощь

1 Ответ

1 голос
/ 29 апреля 2020

Flink имеет отдельные водяные знаки для каждой задачи (т. Е. Для каждого параллельного экземпляра) - в противном случае потребовалась бы какая-то ужасно дорогая глобальная координация - но не для каждого ключа. В случае окна с ключами каждый экземпляр оконного оператора будет обрабатывать события для некоторого непересекающегося подмножества пространства ключей, и все windows для этих ключей будут использовать один и тот же водяной знак.

Имейте в виду, что пустые windows не дают результатов. Таким образом, если есть какая-то клавиша, для которой нет никаких событий во время окна, это окно не будет давать результаты для этой клавиши.

Или может быть, что у вас неактивный источник, удерживающий водяные знаки. Если одна из ваших исходных задач станет бездействующей, то ее водяной знак не будет продвигаться. Вы можете проверить текущий водяной знак в веб-интерфейсе и проверить, продвигается ли он в каждой задаче.

...