【问题标题】:KSQL Non-Interactive (Headless) mode unable to find the streamKSQL 非交互(无头)模式无法找到流
【发布时间】:2018-11-08 19:00:10
【问题描述】:

我正在尝试在无头模式下测试 ksql。 我在查询文件中添加了 Create 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 中。 我正在运行 4.1.0 CLI 版本。

【问题讨论】:

    标签: apache-kafka confluent-platform ksqldb


    【解决方案1】:

    在运行CREATE TABLE 语句之前,您必须在/tmp/ksql-queries/queries.sql 中定义输入流(此处为:STREAM_NAME)。

    这是因为无头 KSQL 集群/部署不知道您在其他交互式 KSQL 集群中定义的流/表。

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多