apache-kafka - 是否可以从 ksql 流创建 ksql 表?

标签 apache-kafka ksqldb

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

相关文章:

docker - 如何配置 docker-compose 以便将磁盘挂载到文件夹,而不是本地磁盘

scala - 具有 SASL_SSL 身份验证的 Kafka Spark 结构化流

apache-kafka - 如何基于 schema-registry 动态更新 KSQL 流定义

php - RD_KAFKA_PARTITION_UA 在 librdkafka 中是如何工作的?

hadoop - Storm UI 拓扑不起作用

java - Kafka Streams 物化存储构建错误

apache-kafka - 我可以在 KSQL 中编写子查询吗?

apache-kafka - KSQL 表-表左外连接多次发出相同的连接结果

apache-kafka - 是否可以在 Confluent KSQL 查询中使用多个左连接?试图加入超过 1 个表的流,如果没有,那么解决方案是什么?