使用KSQL查询Kafka流KTable

时间:2019-10-01 14:38:50

标签: apache-kafka apache-kafka-streams ksql ktable

我正在编写此Kafka流应用程序,该应用程序获取在Kafka主题中注册的传感器读数(作为JSON中的消息),并每分钟对这些读数的值进行一些汇总,每小时和每天。然后,我实现从这些聚合派生的KTables并使用默认状态存储来存储它们。我想知道是否有可能使用KSQL查询这些表。

1 个答案:

答案 0 :(得分:1)

尽管Kafka Streams是KSQL的运行时,但是您通过Kafka Streams应用程序创建的PUT在KSQL中不可用。如果要在KSQL中使用KTables,则需要编写一个创建该TABLE的KSQL查询。

但是请注意,KSQL查询是连续查询,而不是“查找”查询,就像在关系数据库中一样。

相比之下,Kafka Streams支持称为“交互式查询”(https://docs.confluent.io/current/streams/developer-guide/interactive-queries.html)的功能,该功能使您可以对TABLE的状态进行基于键的查找。

最后,KSQL中正在进行最新工作,以公开“交互式查询”。