KSQL 非交互(Headless)模式找不到流
KSQL Non-Interactive (Headless) mode unable to find the stream
我正在尝试在无头模式下测试 ksql。
我在查询文件中添加了创建 Table 查询并启动了服务器,
$path-to-ksql/bin/ksql-server-start \
$path-to-ksql/etc/ksql/ksql-server.properties \
--queries-file /tmp/ksql-queries/queries.sql \
>path-to-logdirectory/ksql-server-1_`date '+%Y%m%d_%H_%M_%S'`.log 2>&1 &
查询文件有以下查询。
create table TABLE_NAME as
select a, min(b)
from STREAM_NAME
WINDOW TUMBLING (size 1 minute)
group by a;
但是,我在日志中遇到以下异常。
Exception in thread "main" io.confluent.ksql.parser.exception.ParseFailedException: Parsing failed on KsqlEngine msg: STREAM_NAME does not exist.
at io.confluent.ksql.KsqlEngine.parseQueries(KsqlEngine.java:278)
at io.confluent.ksql.KsqlEngine.createQueries(KsqlEngine.java:593)
但是,当我 运行 在交互模式下执行相同的查询时,它执行得很好。
注意:流已经存在于 ksql 中。
我是 运行ning 4.1.0 CLI 版本。
您必须在 /tmp/ksql-queries/queries.sql
中在 运行 CREATE TABLE
语句之前定义输入流(此处:STREAM_NAME
)。
那是因为无头 KSQL cluster/deployment 不知道您在其他交互式 KSQL 集群中定义的 streams/tables。
我正在尝试在无头模式下测试 ksql。 我在查询文件中添加了创建 Table 查询并启动了服务器,
$path-to-ksql/bin/ksql-server-start \
$path-to-ksql/etc/ksql/ksql-server.properties \
--queries-file /tmp/ksql-queries/queries.sql \
>path-to-logdirectory/ksql-server-1_`date '+%Y%m%d_%H_%M_%S'`.log 2>&1 &
查询文件有以下查询。
create table TABLE_NAME as
select a, min(b)
from STREAM_NAME
WINDOW TUMBLING (size 1 minute)
group by a;
但是,我在日志中遇到以下异常。
Exception in thread "main" io.confluent.ksql.parser.exception.ParseFailedException: Parsing failed on KsqlEngine msg: STREAM_NAME does not exist.
at io.confluent.ksql.KsqlEngine.parseQueries(KsqlEngine.java:278)
at io.confluent.ksql.KsqlEngine.createQueries(KsqlEngine.java:593)
但是,当我 运行 在交互模式下执行相同的查询时,它执行得很好。 注意:流已经存在于 ksql 中。 我是 运行ning 4.1.0 CLI 版本。
您必须在 /tmp/ksql-queries/queries.sql
中在 运行 CREATE TABLE
语句之前定义输入流(此处:STREAM_NAME
)。
那是因为无头 KSQL cluster/deployment 不知道您在其他交互式 KSQL 集群中定义的 streams/tables。