我正在使用 Kafka Streams 对 kafka 主题进行分组和减少。
如果针对给定键的所有值,键和值都相等,我想为该键生成一个输出;否则,不要为该键输出任何内容。
然而,要做到这一点,我需要访问key
,并且.reduce
方法只允许访问聚合/当前值。
调用 .reduce 时可以获取密钥吗?或者还有其他方法吗?
我正在使用 Kafka Streams 对 kafka 主题进行分组和减少。
如果针对给定键的所有值,键和值都相等,我想为该键生成一个输出;否则,不要为该键输出任何内容。
然而,要做到这一点,我需要访问key
,并且.reduce
方法只允许访问聚合/当前值。
调用 .reduce 时可以获取密钥吗?或者还有其他方法吗?
您可以使用接口
aggregate
的方法KGroupedStream
:如果您希望仅当值匹配时才输出键的结果,则可以创建一个 Ktable,如下所示:
然后您可以过滤表中的值,例如: