Основываясь на моем анализе: несколько объединений в одном операторе в настоящее время не поддерживаются. Вы можете сделать то же самое, написав несколько операторов KSQL: CREATE STREAM промежуточный AS SELECT * FROM ammas cd LEFT JOIN appat ab ON ab.id = cd.id SELECT * FROM промежуточный cd LEFT JOIN annat aa ON aa.id = cd.id
:
describe ammas;
Field | Type
-------------------------------------
ROWTIME | BIGINT (system)
ROWKEY | VARCHAR(STRING) (system)
ID | INTEGER
-------------------------------------
Для получения статистики времени выполнения и деталей запроса выполните:DESCRIBE EXTENDED <Stream,Table>;
Таблица-01:
ksql> show tables;
Table Name | Kafka Topic | Format | Windowed
-------------------------------------------------
ANNAT | anna | DELIMITED | false
APPAT | appa | DELIMITED | false
-------------------------------------------------
Попытка присоединиться к потоку против таблицы-01 работает как ожидалось. Создать поток finalstream как выберитеa.id
изammas
левое соединениеappat b
наa.id = b.id
гдеb.id
являетсяnull
.
Но когда я попытался объединить несколько таблиц с потоком на основе следующего запроса:
ksql> SELECT * FROM ammas cd LEFT JOIN appat ab ON ab.id = cd.id LEFT JOIN annat aa ON aa.id =cd.id;
ServerError:io.confluent.ksql.parser.exception.ParseFailedException
Caused by: null
Что не так? Благодарю.