как применить окно с KStreams {сценарий использования с Java} - PullRequest
0 голосов
/ 22 ноября 2018
KStream<String, dummy> demoZone = builder.stream(fromTopic, Consumed.with(Serializer.getSerde(String.class), Serializer.getSerde(dummy.class)));

Я хочу применить окно к демо-зоне за 1 минуту и ​​найти среднее значение для этих данных за 1 минуту

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете использовать 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);

Вы можете найти более подробную информацию о Windowing здесь:
https://docs.confluent.io/current/streams/developer-guide/dsl-api.html#windowing

...