繁体   English   中英

是否可以从 ksql 流创建 ksql 表?

[英]Is it possible to create ksql table from ksql stream?

我是 ksql 的新手。 我只是将 kafka 主题读到流中,效果很好。

此外,尝试从 kafka 主题创建表并失败。 意识到我需要在 kafka 主题中设置一个键,该键被视为 ksql 表中的主键。 所以我尝试从流创建表,但也失败了。 查询/脚本:

CREATE TABLE DETAILS_TABLE AS SELECT SEQ, Server1, ServerId, NumberUri, SERVERID2, SERVER2 FROM details_stream WINDOW TUMBLING (SIZE 1 MINUTES);
Invalid result type. Your SELECT query produces a STREAM. Please use CREATE STREAM AS SELECT statement instead.

有人可以解释一下是否可能吗? 如果是,我哪里出错了? 谢谢。

正如马蒂亚斯所说,您需要指定一个(有效的)聚合查询。

所以这会起作用:

CREATE TABLE DETAILS_TABLE AS \
SELECT SEQ, Server1, ServerId, NumberUri, SERVERID2, SERVER2, COUNT(*) AS TOTAL \
FROM details_stream WINDOW TUMBLING (SIZE 1 MINUTES) \
GROUP BY SEQ, Server1, ServerId, NumberUri, SERVERID2, SERVER2;

就像任何 SQL 方言一样,如果您要进行聚合,则必须对所有字段进行GROUP BY ,否则在语法上没有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM