Kafka Streams窗口加入了保留
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kafka Streams窗口加入了保留相关的知识,希望对你有一定的参考价值。
我们正在使用kafka streams的windows join来加入2个流,我们想知道:
- 为什么KS在内部主题上增加+24小时?例如,我们有一个1小时的窗口,但内部主题保留25小时。我们可以将其配置为不添加24h吗?
- KS似乎在窗口中保留了两个流的数据 - 内部主题和状态存储(rocksdb) - 有没有办法只保留连接左侧的流?
[UPDATE]
例如,我们像这样创建JoinWindow:
JoinWindows.of(300000).before(600000).until(3600000)
虽然我可以看到内部主题(对于JOINTHIS和OUTEROTHER)已经创建了
Configs:retention.ms=90000000
这刚刚在我的机器上的空代理(使用confluent cli tool)上进行了测试
答案
我将部分回答我自己关于+ 24h的问题:确实文档清楚地在这里谈到这个问题:https://kafka.apache.org/10/documentation/streams/developer-guide/processor-api.html#fault-tolerant-state-stores:
默认保留设置为Windows#maintainMs()+ 1天。您可以通过在StreamsConfig中指定StreamsConfig.WINDOW_STORE_CHANGE_LOG_ADDITIONAL_RETENTION_MS_CONFIG来覆盖此设置。
这是关于WINDOW_STORE_CHANGE_LOG_ADDITIONAL_RETENTION_MS_CONFIG的Javadoc
以上是关于Kafka Streams窗口加入了保留的主要内容,如果未能解决你的问题,请参考以下文章