我是 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
所有字段,否则它没有语法意义。
关于apache-kafka - 是否可以从 ksql 流创建 ksql 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50192289/