users, orders, order_products. Наливаются кафка коннектом.
Нужно получить топик, в котором будет джойн этих трех топиков.
Аналог mysql запроса
select *
from users u
join orders o on (u.od = o.user_id)
join order_products op on (o.id = op.order_id)
Причем если в любой из топиков приходит ивент, то должны сгенериться записи в целевом топике.
Джойняться последние состояния сущностей.
1. Создаю из каждого топика стрим (пусть s_u, s_o, s_op),
А дальше что? просто джойн этиъ трех стримов в новый WITH TOPIC или нужно еще таблицы создавать с LATEST_BY_OFFSET для каждого поля и джойнить уже их?
Не потерялся, просто либо всем пофиг, либо никто не знает. Джоин трех стримов не поддерживается (кажется). https://kafka-tutorials.confluent.io/multi-joins/ksql.html Гуглится с минуту 👆 Идём разбираемся как работает джоин вообще https://developer.confluent.io/learn-kafka/ksqldb/merge-streams/ https://developer.confluent.io/learn-kafka/data-pipelines/joining-data-streams-with-ksqldb/
Обсуждают сегодня