KStreams tmp 文件清理

KStreams tmp files cleanup

我的Kstreams消费者在/tmp/kafka-streams/下存储了一些检查点信息。在我们的例子中,这个文件夹很快就会被填满。我的 kstream 基本上在 3 秒 window 内消耗了一条 1kb 的消息,并根据密钥删除了相同的数据。我正在寻找有关如何定期清除此数据的建议,以便磁盘不会根据要保留哪些文件而不是填满?

如果您使用窗口聚合,默认情况下使用 1 天的保留时间,以允许正确处理乱序数据。这意味着,将存储最后 24 小时(或实际上最多 36 小时)的所有 windows。

您可以尝试减少保留时间以存储较短的历史记录:

  • .aggregate(..., Materialized.as(null).withRetentionTime(...));
  • 旧版本(2.1.0 之前):TimeWindows#until(...)(或 SessionWindows#until(...)