Таблица 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>>, В противном случае вы получите неправильные результаты.

Другие вопросы по тегам