K SQL присоединение потока Kafka к KTable - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь выполнить соединение между таблицей и потоком, но по какой-то причине это не работает.

ksql> SELECT GROUP_TABLE.SOCIETY_ID, GROUP_TABLE.ID FROM GROUP_TABLE;
1 | 2
^CQuery terminated
ksql> SELECT DEVICE_STREAM.GROUP_ID FROM DEVICE_STREAM
2
^CQuery terminated
ksql> SELECT GROUP_TABLE.SOCIETY_ID  FROM DEVICE_STREAM LEFT JOIN GROUP_TABLE ON DEVICE_STREAM.GROUP_ID = GROUP_TABLE.ID;
null

Я ожидаю 1 вместо нулевого значения. GROUP_TABLE создается из топи c, синхронизированного с Kafka через Postgres JDB C коннектор.

Вышеуказанное поведение относится к существующим данным. Если мне случится ввести новые данные внутри Postgres, оператор соединения вернет правильное значение

1 Ответ

0 голосов
/ 29 июля 2020

Скорее всего, это временные метки данных. Объединение потоковой таблицы - это больше поиск / обогащение, чем традиционное соединение SQL. ksqlDB изо всех сил старается обрабатывать данные во времени. Если метка времени в DEVICE_STREAM равна перед строкой GROUP_TABLE, то ksqlDB не присоединяется к данным, поскольку эта строка еще не существует в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...