Когда я запускаю следующие запросы, он отображает только столбцы из потока, но столбцы таблицы не отображаются.
В объединении потоковой таблицы (слева) выходные записи будутсодержать null
столбцы (для столбцов на стороне таблицы), если во время соединения / поиска в таблице нет соответствующих записей.
Это ожидаемый результат.Если нет, я делаю что-то не так?
Возможно ли, например, что вы записали (1) входные данные в поток перед тем, как записать (2) входные данные в таблицу?Если это так, то запрос объединения потоковой таблицы попытался бы выполнить поиск в таблице во время (1), когда в таблице еще не было таких данных поиска (поскольку это произошло позже во время (2)).Поскольку таких табличных данных не было, объединение записало выходные записи, в которых столбцы на стороне таблицы были null
.
Примечание. Это объединение потоковой таблицы в KSQL (и, как следствие, в API потоков Apache Kafka Streams)., на котором построен KSQL) является в значительной степени нормой для объединений в потоковом мире.Здесь только сторона потока соединения потоковой таблицы будет инициировать выходы нисходящего соединения, и если нет совпадения для записи потока на стороне таблицы во время соединения новой входной записи, то на стороне таблицыстолбцы будут null
.Так как это, однако, является частой причиной путаницы среди пользователей, в настоящее время мы работаем над добавлением триггера выходных данных на стороне таблицы в API потоков Apache Kafka и KSQL.Когда такая функция будет доступна, ваша проблема, описанная выше, больше не будет возникать.