Присоединяются ли KTable и KStream к публикации новой записи при обновлении KTable?
Я реализовал в своем приложении соединение KTable и KStream и ожидаю вывода сообщений в следующих случаях;
- Новое сообщение в KStream и соответствующая запись в KTable
- В KStream пришло обновленное сообщение, и в KTable есть соответствующая запись.
- Когда есть обновление в записи KTable
Я наблюдал, что мое приложение выполняет 1 и 2, как ожидалось, но не 3.
Есть ли какой-нибудь совет, который я могу получить, чтобы достичь пункта 3?
Спасибо!
1 ответ
Вы ищете соединение таблицы с таблицей. Это запускает выходное сообщение при поступлении новой записи в любую тему.
Начните с того, что записи, которые вы хотите объединить в разных темах, имеют один и тот же ключ и разделены на разделы. Тогда читайте обе темы как KTables.
KTable<String, Long> left = ...;
KTable<String, Double> right = ...;
Наконец, выполните объединение обеих таблиц.
KTable<String, String> joined = left.join(right, (x, y) -> "left=" + x + ", right=" + y);