Kafka Streams窗口加入了保留

时间:2018-02-28 13:38:22

标签: apache-kafka apache-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)上测试了这个

1 个答案:

答案 0 :(得分:6)

我将部分回答我关于+ 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