флаг advanceToEndOfEventTime в Flink - PullRequest
1 голос
/ 22 марта 2020

Я просматриваю совсем недавно API JobClient и вижу advanceToEndOfEventTime флаг в методе stopWithSavepoint. Если я правильно понимаю, это вызовет работу, например, грипп sh на основе времени windows. И, таким образом, если мы начнем с этой точки сохранения, задание начнется с windows без каких-либо элементов. Я не считаю это желательным в моих текущих случаях использования - во всех наших приложениях крайне важно восстановить состояние, как это происходит после перезапуска. Интересно, какой вариант использования для этого?

1 Ответ

0 голосов
/ 23 марта 2020

Одна из ситуаций, когда это было бы полезно, - это случай, когда вы знаете, что работа выполнена, и дальнейших вводов не будет. Если все источники конечны, например, файл, Flink автоматически выдвинет текущий водяной знак до Watermark.MAX_WATERMARK и остановит работу.

Но с потенциально неограниченными потоковыми источниками этого не происходит, даже если они ограничены - работа, которую вы хотели бы остановить, просто сидит там, ожидая обработки новых событий (которые никогда не придут), и держась за окончательный набор результатов, которые вы хотели бы получить sh. Опция advanceToEndOfEventTime позволяет вам полностью отключить это.

...