KSQL - 非流式查询

时间:2017-12-11 05:36:39

标签: apache-kafka ksql

有没有办法查询KTABLE中的所有当前条目?我正在尝试使用有效负载

执行REST api的http请求
{
  "ksql": "SELECT * FROM MY_KTABLE;",
  "streamsProperties": {
      "auto.offset.reset": "earliest"
   }
}

并且流无限期挂起。文档说

  

它相当于传统的数据库表,但却丰富了   流式语义,如窗口。

当您只需要所有当前数据而不流式传输并将KTABLE视为常规缓存表时,是否可以进行常规查询?

1 个答案:

答案 0 :(得分:1)

KSQL Table使用Kafka Streams' KTable所以为了访问KTable的当前值,您需要在流作业的所有实例中访问状态存储。在Kafka Streams中,您可以使用interactive queries执行此操作,但是,我们还不支持KSQL中的交互式查询。

在KSQL中查看表的当前状态的一种解决方法是使用Kafka Connect将对应于Table的kafka主题推送到外部表(如Postgres表或Cassandra表)。该外部表将具有KSQL表的最新值。