[英]Is it possible to use multiple left join in Confluent KSQL query? tried to join stream with more than 1 tables , if not then whats the solution?
溪流 :
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
-------------------------------------------------
尝试加入流与 table-01 正按预期工作。 创建流 finalstream 作为 select a.id
from ammas
a left join appat b
on a.id = b.id
where b.id
is 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
出了什么问题? 谢谢。
KSQL 当前 (v5.3) 仅支持每个语句的单个连接操作。 如果你想执行多个连接,你必须在多个语句中“菊花链”它们,例如
CREATE STREAM out1 AS
SELECT * FROM ammas cd
LEFT JOIN appat ab
ON ab.id = cd.id
CREATE STREAM out_final AS
SELECT * FROM out1 o
LEFT JOIN annat aa ON o.id =cd.id;
2020 年 11 月更新:ksqlDB v0.9 中添加了 ksqlDB 支持多路连接。 Confluent Platform 6.0 包含 ksqlDB 0.10.2,因此也包含此功能。 有关详细信息,请参阅发布博客和文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.