【发布时间】:2019-04-04 11:38:15
【问题描述】:
是否可以在 KSQL 中加入两个以上的流/表?
例子:
我有三个流:
CREATE STREAM StreamA (id BIGINT, message VARCHAR) WITH
(KAFKA_TOPIC='TopicA', VALUE_FORMAT='DELIMITED');
CREATE STREAM StreamB (id BIGINT, aid BIGINT, message VARCHAR) WITH .
(KAFKA_TOPIC='TopicB', VALUE_FORMAT='DELIMITED');
CREATE STREAM StreamC (id BIGINT, bid BIGINT, message VARCHAR) WITH
(KAFKA_TOPIC='TopicC', VALUE_FORMAT='DELIMITED');
我尝试通过加入这三个流来创建另一个流:
CREATE STREAM ABCStream AS SELECT * FROM StreamA a JOIN
StreamB b ON b.aid = a.id JOIN StreamC c WITHIN 1 HOURS ON
c.bid = b.id;
我得到以下异常:
mismatched input 'JOIN' expecting ';'
Caused by: org.antlr.v4.runtime.InputMismatchException
【问题讨论】:
-
您是否尝试过在 github 问题上搜索多个连接?上次我检查时,至少有两个问题要求此功能,因此尚不支持
-
感谢@cricket_007。我去看看。
-
欢迎在github.com/confluentinc/ksql/issues/1891 上对多个加入的功能请求进行投票。
标签: join stream apache-kafka ksqldb