Kafka Streams - 来自具有保留策略的主题的 KTable
Kafka Streams - KTable from topic with retention policy
我正在试验 kafka 流,我有以下设置:
- 我有一个现有的 kafka 主题,其键 space 是无界的(但可预测且众所周知)。
- 我的主题有一个保留策略(以字节为单位)来老化旧记录。
- 我想将这个主题具体化到一个 Ktable 中,我可以在其中使用交互式查询 API 来按键检索记录。
有什么方法可以使我的 KTable "inherit" 成为我的主题的保留策略?那么当记录超出主要主题时,它们在 ktable 中不再可用?
我担心将所有记录转储到 KTable 中并让 StateStore 无限增长。
我能想到的一个解决方案是转换为窗口流,跳变 windows 等于记录的 TimeToLive,但我想知道是否有更原生的更好的解决方案。
谢谢。
很遗憾不支持atm。不过有一个 JIRA:https://issues.apache.org/jira/browse/KAFKA-4212
另一种可能性是将逻辑删除消息 (<key,null>
) 插入到输入主题中。 KTable
会选择那些并从存储中删除相应的密钥。
我正在试验 kafka 流,我有以下设置:
- 我有一个现有的 kafka 主题,其键 space 是无界的(但可预测且众所周知)。
- 我的主题有一个保留策略(以字节为单位)来老化旧记录。
- 我想将这个主题具体化到一个 Ktable 中,我可以在其中使用交互式查询 API 来按键检索记录。
有什么方法可以使我的 KTable "inherit" 成为我的主题的保留策略?那么当记录超出主要主题时,它们在 ktable 中不再可用?
我担心将所有记录转储到 KTable 中并让 StateStore 无限增长。
我能想到的一个解决方案是转换为窗口流,跳变 windows 等于记录的 TimeToLive,但我想知道是否有更原生的更好的解决方案。
谢谢。
很遗憾不支持atm。不过有一个 JIRA:https://issues.apache.org/jira/browse/KAFKA-4212
另一种可能性是将逻辑删除消息 (<key,null>
) 插入到输入主题中。 KTable
会选择那些并从存储中删除相应的密钥。