В чем разница между водяным знаком и триггером во Flink? - PullRequest
0 голосов
/ 22 марта 2019

Я прочитал это, "... Оператор упорядочения должен буферизовать все элементы, которые он получает. Затем, когда он получает водяной знак, он может отсортировать все элементы, у которых есть отметка времени ниже водяного знака, и испустить их в отсортированном порядке. Это правильно, потому что водяной знак сигнализирует о том, что может появиться не больше элементов, которые будут смешаны с отсортированными элементами ... "- https://cwiki.apache.org/confluence/display/FLINK/Time+and+Order+in+Streams

Следовательно, кажется, что водяной знак служит сигналом для следующегооператор, для начала обработки.Я думаю, это то, что делает триггер.Какая разница между ними?

Ответы [ 2 ]

1 голос
/ 22 марта 2019

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

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

Итак, водяные знаки и таймеры - это две разные вещи. Водяные знаки сообщают оператору, который час, и оператор запускает таймер в нужный момент времени.

0 голосов
/ 22 марта 2019

Водяной знак можно рассматривать как утверждение о том, что поток времени события завершен до определенной отметки времени.Когда водяной знак обрабатывается оператором, он вызывает срабатывание любых соответствующих таймеров времени события.Операторы, которые используют EventTimeTimers, являются EventTimeWindows и ProcessFunctions.

Триггеры являются частью оконного API и определяют, когда Windows выдаст результаты.EventTimeTrigger оборачивается вокруг таймера времени события, который вызывается при обработке достаточно большого водяного знака, указывая, что окно теперь завершено.

...