我们需要使用一个非常大的窗口执行Kstream - Kstream连接,其中左边的刻度将仅触发与右边最新记录的连接,反之亦然。
这不是默认窗口的工作方式,因为WindowStoreIterator<V>
中window.fetch返回的KStreamKStreamJoinProcessor
是一个可以包含多个记录的迭代器。
特别是,我们注意到RockDBWindowStore
将retainDuplicates
属性设置为true,我们希望将其设置为false。
我们如何为KStream KStream join自定义商店实现?
答案 0 :(得分:0)
最简单的方法可能是将代码复制到具有新名称的类中并相应地更改逻辑?另一种可能性是将两个流转换为KTables
并进行表 - 表连接(您需要禁用两个输入KTable的缓存。
但请注意,对于您想要的连接类型,很难正确处理无序数据。