Что я хотел бы сделать, так это:
- Использовать записи из темы номеров (Long's)
- Совокупность (подсчет) значений для каждого окна 5 секунд
- Отправьте результат агрегации FINAL в другую тему
Мой код выглядит следующим образом:
KStream<String, Long> longs = builder.stream(
Serdes.String(), Serdes.Long(), "longs");
// In one ktable, count by key, on a five second tumbling window.
KTable<Windowed<String>, Long> longCounts =
longs.countByKey(TimeWindows.of("longCounts", 5000L));
// Finally, sink to the long-avgs topic.
longCounts.toStream((wk, v) -> wk.key())
.to("long-counts");
Похоже, что все работает так, как ожидалось, но агрегаты отправляются в тему назначения для каждой входящей записи. Мой вопрос в том, как я могу отправить только окончательный результат агрегирования для каждого окна?