apache-kafka - KafkaStreams KTable 压缩
问题描述
在我的应用程序中,几乎每个传入的记录值都会在几秒钟内被清空(墓碑),但是我没有看到压缩发生,因为 RocksDB 的大小没有减少并且它仍然有数百万个条目
- 当我使用 keyValue 迭代器遍历 stateStore 时,我看到 99% 的值都是空的(墓碑)
- 每个 stateStore 中大约有 5 亿个条目,因此迭代需要将近一个小时
- 我看到这些记录即使在几天后也没有被消除(等到 2 天)。测试期间没有发送新的输入记录,所以它只是旧的
- 我希望主动清除空记录以确保 stateStore 具有大部分活动记录
我使用RocksDBConfigSetter并将compactionStyle设置为level:
options.setCompactionStyle(CompactionStyle.LEVEL);
请让我知道是否还有其他方法可以触发频繁压缩
预期结果:空记录应该至少在几个小时内被快速清除
解决方案
推荐阅读
- mysql - MySQL 中位数与 2 group by
- python - 如何在 Windows 上从 Python 代码打开“查找”对话框?
- java - Thymeleaf 隐藏标签 wen th:text="#{var}"
- java - Android 上滑动膨胀图像的问题
- mysql - 我对 SQL 中的触发器有一个非常简单的问题
- dart - Flutter/Dart DateTime 解析 UTC 并转换为本地
- python - Python Regex:使用按位或匹配尾随和前导空格
- immutability - 为什么在重新定义变量时使变量不可变并创建新条目?
- react-native - 为什么 ReactNative 中的 Switch 显示切换动画,尽管它的 value 属性没有改变?(iOS)
- sql - 具有跨表多列的唯一值约束,而不是 Oracle 中的组合