Kafka Streams - 根据保留策略从主题创建KTable

7
我正在尝试使用kafka streams,并且有以下设置:
  • 我有一个现有的kafka主题,其键空间是无界的(但可预测和广为人知)。
  • 我的主题具有保留策略(以字节为单位),以使旧记录过期。
  • 我想将此主题实现为Ktable,以便可以使用交互式查询API按键检索记录。

是否有任何方法可以使我的KTable“继承”我的主题的保留策略?这样,当主题中的记录过期时,它们在ktable中就不再可用了吗?

我担心将所有记录转储到KTable中并使StateStore无限增长。

我能想到的一个解决方案是将其转换为窗口流,跳跃窗口与记录的TimeToLive相等,但我想知道是否有更本地的更好的解决方案。

谢谢。

1个回答

5

很遗憾,目前还不支持。但是有一个JIRA:https://issues.apache.org/jira/browse/KAFKA-4212

另一种可能性是在输入主题中插入墓碑消息(<key,null>)。KTable会获取这些消息并从存储中删除相应的键。


matthias:票似乎仍然是开放状态 :-(。目前除了插入“墓碑”消息之外,还有更好的方法吗?处理“墓碑”消息的常规方法是什么?通过使用某个时间戳查询存储来查找旧键吗?谢谢。 - senseiwu
我不知道有更好的方法来处理... 如果你需要这个功能,随时可以选择接手这个任务并为 Kafka 做出贡献 -- 这就是开源系统的目的 :) - Matthias J. Sax
我猜这个问题有一些“历史”(https://github.com/apache/kafka/pull/2159) - senseiwu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接