我在KSQL中创建表或流时遇到问题。
我已经完成了官方示例中显示的所有内容,但我不明白为什么我的代码无法正常工作。来自https://docs.confluent.io/current/ksql/docs/tutorials/examples.html#joining的示例:
CREATE TABLE pageviews_per_region_per_session AS
SELECT regionid,
windowStart(),
windowEnd(),
count(*)
FROM pageviews_enriched
WINDOW SESSION (60 SECONDS)
GROUP BY regionid;
现在输入我的代码:
我尝试在命令舞会中运行select,效果很好:
SELECT count(*) as attempts_count, "computer", (WINDOWSTART() / 1000) as row_time
FROM LOG_FLATTENED
WINDOW TUMBLING (SIZE 20 SECONDS)
WHERE "event_id" = 4625
GROUP BY "computer"
HAVING count(*) > 2;
但是当我尝试基于此选择创建表时(通过ksql命令行工具):
CREATE TABLE `incorrect_logins` AS
SELECT count(*) as attempts_count, "computer", (WINDOWSTART() / 1000) as row_time
FROM LOG_FLATTENED
WINDOW TUMBLING (SIZE 20 SECONDS)
WHERE "event_id" = 4625
GROUP BY "computer"
HAVING count(*) > 2;
我遇到错误-io.confluent.ksql.util.KsqlStatementException: Column COMPUTER cannot be resolved.
,但是此列存在并且选择时不使用create table
语句就可以正常工作。
我正在使用最新的稳定的KSQL映像(confluentinc/cp-ksql-server:5.3.1
)