3

溪流 :

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 作为a.id从where isammas的左连接appat b中选择。a.id = b.idb.idnull

但是,当我尝试根据以下查询将多个表与流连接时:

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

出了什么问题?谢谢。

4

1 回答 1

1

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,因此也包含此功能。有关详细信息,请参阅发布博客文档

于 2019-09-03T13:56:42.307 回答