【发布时间】:2020-09-09 15:53:28
【问题描述】:
我正在尝试使用KSQL Windowed Aggregation,特别是Session Window,按其属性之一对事件进行分组。
我有一个 STREAM 由 kafka 主题制成,并明确指定了 TIMESTAMP 属性。
当我尝试使用会话窗口创建STREAM 时,查询如下:
CREATE STREAM SESSION_STREAM AS
SELECT ...
FROM EVENT_STREAM
WINDOW SESSION (5 MINUTES)
GROUP BY ...;
我总是得到错误:
您的 SELECT 查询会生成一个 TABLE。请改用 CREATE TABLE AS SELECT 语句。
是否可以使用窗口聚合创建 STREAM?
当我按照建议尝试创建一个 TABLE 然后创建一个包含所有会话开始事件的 STREAM 时,查询如下:
CREATE STREAM SESSION_START_STREAM AS
SELECT *
FROM SESSION_TABLE
WHERE WINDOWSTART=WINDOWEND;
KSQL 告诉我:
KSQL 不支持对窗口表的持久查询
如何在 KSQL 中创建一个 STREAM 事件启动会话窗口?
【问题讨论】:
-
我使用的是confluent.cloud提供的云版KSQL
标签: apache-kafka ksqldb