首页 文章

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

提问于
浏览
2

我是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.

有人可以解释它是否可能?如果是的话,我错了吗?谢谢 .

1 回答

  • 2

    正如Matthias所说,您需要指定(有效)聚合查询 .

    这样可行:

    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 所有字段,否则它没有语法意义 .

相关问题