#apache-kafka #apache-kafka-streams
Вопрос:
У меня есть KStream, который ветвится и записывает выходные записи в разные темы на основе некоторой внутренней логики. Есть ли какой-либо способ узнать раздел выходного сообщения из потока K? Выходные темы имеют разное количество разделов по сравнению с входными.
Комментарии:
1. IIRC, темы ввода и вывода требуют совпадения количества разделов (или, может быть, это только для соединений). Что вы планируете делать с номером раздела?
Ответ №1:
При использовании DSL высокого уровня у вас нет доступа к метаданным записи (которые содержат пару ключ/значение в определенном разделе, из которого была получена запись). Таким образом, вы не сможете достичь цели с помощью реализации KStream.
При желании вы можете использовать низкоуровневый API процессора, который позволит получить доступ к метаданным. В противном случае вы можете добавить реализацию ConsumerInterceptor и сопоставить значение раздела с сообщением, прежде чем оно отправится потребителю.