kafka 流如何计算水印?

aru*_*van 6 apache-kafka apache-kafka-streams

Kafka Streams 是否在内部计算水印?是否可以在完成时(即当水印通过窗口末尾时)观察窗口的结果(仅)?

Dmi*_*sky 4

Kafka Streams 内部不使用水印,但 2.1.0 中的一项新功能可让您观察窗口关闭时的结果。它被称为Suppressed,您可以在文档中阅读它:Window Final Results

KGroupedStream<UserId, Event> grouped = ...;
grouped
    .windowedBy(TimeWindows.of(Duration.ofHours(1)).grace(ofMinutes(10)))
    .count()
    .suppress(Suppressed.untilWindowCloses(unbounded()))
Run Code Online (Sandbox Code Playgroud)