使用 KSQL 查询 Kafka Streams KTable

Querying a Kafka Streams KTable using KSQL

我正在编写这个 Kafka 流应用程序,它获取在 Kafka 主题中注册的传感器读数(作为 JSON 中的消息),并在每个中对这些读数的值执行一些聚合-分钟、每小时和每天。然后我具体化从这些聚合派生的 KTables 并使用默认状态存储来存储它们。我想知道是否可以使用 KSQL.

查询这些表

虽然 Kafka Streams 是 KSQL 的运行时,但您通过 Kafka Streams 应用程序创建的 KTables 在 KSQL 中不可用。如果你想在 KSQL 中有一个 TABLE,你需要编写一个 KSQL 查询来创建 TABLE.

但是请注意,KSQL 查询是连续查询,并且不是 "lookup" 关系数据库中的查询。

相比之下,Kafka Streams 支持一项名为 "interactive queries" (https://docs.confluent.io/current/streams/developer-guide/interactive-queries.html) 的功能,它允许您对 KTable.[=15= 的状态进行基于键的查找]

最后,KSQL 目前正在进行工作,以公开 "interactive queries"。