Kafka Streams не использует водяные знаки внутри, но новая функция в 2.1.0 позволяет наблюдать результат работы окна, когда оно закрывается.Он называется Suppressed
, и вы можете прочитать об этом в документации: Окно Окончательные результаты :
KGroupedStream<UserId, Event> grouped = ...;
grouped
.windowedBy(TimeWindows.of(Duration.ofHours(1)).grace(ofMinutes(10)))
.count()
.suppress(Suppressed.untilWindowCloses(unbounded()))