У меня есть работающее приложение Kafka Streams, которое в настоящее время создает два KStreams из двух разных тем.Эта часть работает просто отлично.
Теперь я хочу присоединиться к ним и получить «агрегированную запись» значения в первом и значения во втором.Ключи - это простые строки Java, а значения - это GenericRecords в аврокодировке.
Основываясь на документации, я смогу сделать что-то вроде этого:
KStream<String, GenericAvroSerde> joined =
inputTopicStartKStream.leftJoin(inputTopicEndKStream,
(left, right) -> { ??? }
JoinWindows.of(Duration.ofHours(24)),
Joined.with(
stringSerde,
genericAvroSerde,
genericAvroSerde)
);
Однако это не такясно из документов или учебных пособий, которые я нашел в Интернете, что я могу сделать в разделе выше, где написано { ??? }
.Я пробовал несколько вариантов выше, но не повезло.Я использую версию Kakfa Streams 2.2.0, если это имеет значение.
Я просто хочу иметь выходной поток <key, merge value1 + value2>
для записей, которые поступают в оба потока с одним и тем же ключом.Я могу сделать слияние значений вручную, но не совсем понятно, как получить доступ к значениям с правой стороны лямбды.