Предполагая, что существует конечный поток данных (например, из источника базы данных) с событиями
a1, a2, ..., an
.
Как добавить еще одно событие b
в этот поток, чтобы получить
a1, a2, ..., an, b
(т.е. выводить добавленное событие после всех исходных событий, сохраняя исходный порядок)?
Я знаю, что все конечные потоки после всех событий выдают MAX_WATERMARK
. Итак, есть ли способ «поймать» этот водяной знак и вывести после него дополнительное событие?
(К сожалению, .union()
объединение исходного потока данных с другим потоком данных, состоящим из одного события (с меткой времени, установленной на Long.MaxValue
), а затем сортировка объединенного потока с использованием этот ответ не сработал.)