我正在尝试使用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提示符即可创建表和查询表的方法。
答案 0 :(得分:0)
您需要在{em> SET 'auto.offset.reset'='earliest';
查询之前设置CREATE
。
如果您想通过脚本与KSQL进行交互,我建议您使用REST API(例如,通过curl
)而不是尝试通过管道传递给ksql二进制文件。