Я использую Kafka Streams для некоторых агрегатов TimeWindow.Меня интересует только конечный результат каждого окна, поэтому я использую функцию .suppress (), которая создает раздел журнала изменений для его состояния.
Конфигурация политики хранения для этого раздела журнала изменений определена как «компактная»."который, насколько я понимаю, сохранит по крайней мере последнее событие для каждого ключа в прошлом.
Проблема в моем приложении заключается в том, что ключи часто меняются.Это означает, что тема будет расти бесконечно (каждое окно будет приносить новые ключи, которые никогда не будут удалены).
Поскольку агрегация выполняется для каждого окна, после агрегации мне не нужно "старый""keys.
Есть ли способ сообщить Kafka Streams об удалении ключей из предыдущих окон?
В этом отношении я думаю, что настройка политики хранения тем журнала изменений на" compact, delete "подойдетзадание (которое доступно в кафке в соответствии с этим: KIP-71 , KAFKA-4015 .
Но возможно ли изменить политику хранения, используяAPI Kafka Streams?