Есть ли в Kafka Streams встроенная функция, позволяющая динамически соединять один входной поток с несколькими выходными потоками? KStream.branch
разрешает ветвление на основе предикатов истина / ложь, но это не совсем то, что я хочу. Я бы хотел, чтобы каждый входящий журнал определял тему, в которую он будет транслироваться во время выполнения, например, журнал {"date": "2017-01-01"}
будет передаваться в тему topic-2017-01-01
, а журнал {"date": "2017-01-02"}
будет передаваться в тему topic-2017-01-02
.
Я мог бы вызвать forEach
в потоке, а затем написать продюсеру Kafka, но это кажется не очень элегантным. Есть ли лучший способ сделать это в рамках Streams?
KStream.branch
принимает несколько предикатов (ваш вопрос указывает на то, что вы это пропустили). Итак,branch
должен позволять делать то, что вы хотите. Может, можно привести пример данных? - person Matthias J. Sax   schedule 23.01.2017foo-{date}
. - person kellanburket   schedule 23.01.2017