Таблица KSQL не показывает данные, но Stream с той же структурой возвращает данные
Я создал таблицу в KSQL, но при запросе он не возвращает никаких данных. Затем я создал поток на ту же тему с той же структурой, и я могу запрашивать данные.
Что мне здесь не хватает. Мне нужно это как таблица для объединения с потоком.
CREATE TABLE users_table \
(registertime bigint, userid varchar, regionid varchar, gender varchar) \
WITH (value_format='json', kafka_topic='users_topic',key='userid');
а также
CREATE STREAM users_stream \
(registertime bigint, userid varchar, regionid varchar, gender varchar) \
WITH (value_format='json', kafka_topic='users_topic');
Заранее спасибо.
1 ответ
Если вы читаете тему как TABLE
сообщения в теме должны иметь установленный ключ. Если ключ null
, записи будут сброшены молча. Ключ в KSQL TABLE
является первичным ключом и null
не является допустимым значением для первичного ключа.
Кроме того, значение в сообщении атрибута ключа должно совпадать с ключом (обратите внимание, что сама схема определяется значением сообщения). Например, если у вас есть схема, <A,B,C>
и вы установили A
в качестве ключа сообщения в теме должны быть <key,value> == <a,<a,b,c>>
, В противном случае вы получите неправильные результаты.