查询一个时间范围内的Kafka Streams state store
Query Kafka Streams state store within a time range
我想根据时间范围查询 Kafka Streams 状态存储。用例是我将每 30 秒安排一次流处理器。在每次调用期间,我想查询一个状态存储,但只查询“新”的条目。我认为 TimestampedKeyValueStore 可能会有所帮助,但找不到合适的 API 来执行此操作。是否可以根据时间范围查询状态存储(并保证恰好一次)?
您不能根据时间范围查询 KeyValueStore
,因为这与商店的语义不符。查询总是针对key,一个TimestampeKeyValueStore
存储一个额外的value-timestamp.
不过您可以使用 WindowedStore
:请注意,windowed-store 基本上也只是一个 key-value 存储,但是,它在键旁边存储时间戳( 不是 值;好吧,还有 TimestampedWindowStore
也可以同时执行这两项操作)。这允许您查询时间范围。
我想根据时间范围查询 Kafka Streams 状态存储。用例是我将每 30 秒安排一次流处理器。在每次调用期间,我想查询一个状态存储,但只查询“新”的条目。我认为 TimestampedKeyValueStore 可能会有所帮助,但找不到合适的 API 来执行此操作。是否可以根据时间范围查询状态存储(并保证恰好一次)?
您不能根据时间范围查询 KeyValueStore
,因为这与商店的语义不符。查询总是针对key,一个TimestampeKeyValueStore
存储一个额外的value-timestamp.
不过您可以使用 WindowedStore
:请注意,windowed-store 基本上也只是一个 key-value 存储,但是,它在键旁边存储时间戳( 不是 值;好吧,还有 TimestampedWindowStore
也可以同时执行这两项操作)。这允许您查询时间范围。