如何将 window 与 KStreams 一起应用 {java 的用例}

how to apply window with KStreams {use case with java}

KStream<String, dummy> demoZone = builder.stream(fromTopic, Consumed.with(Serializer.getSerde(String.class), Serializer.getSerde(dummy.class)));

我想在 1 分钟的 demoZone 上应用 window 并找到该 1 分钟数据的平均值

您可以使用如下所示的 TimeWindow:

KTable<Windowed<String>, Long> averageCount = demoZone
        .groupByKey(Serialized.with(Serdes.String(), dummySerde()))
        .windowedBy(TimeWindows.of(TimeUnit.MINUTES.toMillis(5).advanceBy(TimeUnit.MINUTES.toMillis(1))))
        .reduce(// Your aggregate logic here);

您可以在此处找到有关窗口化的更多详细信息:
https://docs.confluent.io/current/streams/developer-guide/dsl-api.html#windowing