Помогло
id string key и KEY_FORMAT=«KAFKA»
Заметил в кондукторе, что в ключе сообщения string (который json, но все же изначально string).
Пример ключа:
{"OrderID":42547152} Отсюда вопрос №1:
Можно ли при такой ситуации (в message key лежит строка с json-ом) в id талицы/стрима подставить значение поля из этого json-а?
Вопрос №2.
Я наверное не до конца понимаю суть таблицы KSQL. Подскажите плз в чем я заблуждаюсь.
а) стрим - это собственно стрим данных, основанный на кафка топике; б) Таблица - грубо говоря, топик с последними состояниями сущностей по primary key
в) таблицы можно кверить, как обычные мускуль таблицы через CLI либо REST API ( select * from table where id = 123 - вернет последнее состояние сущности с id = 123 из соответствующего топика).
г) Под капотом у таблиц лежит compacted topic.
3) Почему когда я делаю запрос в таблицу, то получаю ошибку?
ksql> select * from o_table where OrderID=42547941;
Can't pull from
O_TABLE
as it's not a materialized table. See
https://cnfl.io/queries for more info.
Add EMIT CHANGES if you intended to issue a push query.
В доке вроде как сказано, что к таблицам можно делать pull запрос на получение состояния сущности.
И вот не понял в чем разница Table и Materialized view (которая по сути table, которая as select …)
Сори за возможно делитантские вопросы, но я только погружаюсь в потоковое видение 🙂