没有数据进入通过ksql二进制流构建的表中,如果我对ksql提示符执行相同操作,它将到达那里?

时间:2019-06-20 10:00:34

标签: apache-kafka confluent ksql

我正在尝试使用ksql二进制在流上创建表。该表被创建并开始运行,但是当我查询它时,表内没有数据。当我使用ksql提示创建相同的表时,创建了表,我也能够查询数据。

PS:我正在设置此属性SET'auto.offset.reset'='最早';查询开始的数据表格。

我尝试了两种方法。当我使用ksql提示创建表时,它可以工作。尝试对ksql二进制文件执行相同操作时,相同命令不起作用。

sudo echo "CREATE TABLE movie_table AS SELECT title, count(*) AS appearance FROM test WHERE year > 1988 GROUP BY title;" | sh /home/binary/ksql http://devopsksql.default.svc.cluster.local:8088
ksql> CREATE TABLE movie_table AS SELECT title, count(*)
 Message
---------------------------
 Table created and running
---------------------------

ksql> select * from MOVIE_TABLE;
^CQuery terminated

与我在ksql提示符下运行时打开它的方式相同。

我期望一种无需使用ksql提示符即可创建表和查询表的方法。

1 个答案:

答案 0 :(得分:0)

您需要在{em> SET 'auto.offset.reset'='earliest'; 查询之前设置CREATE

如果您想通过脚本与KSQL进行交互,我建议您使用REST API(例如,通过curl)而不是尝试通过管道传递给ksql二进制文件。