我想知道为什么在kafka中对两个Kstream进行共分区,为什么两个流都需要相同数量的分区,如下面URL中的文档所示:在此处输入链接描述
顾名思义,“ co-partition”表示您希望将来自不同主题但具有相同密钥的数据放入同一Kafka Streams应用程序实例。如果您没有相同数量的分区,则无法获得此行为。
假设您的主题A具有2个分区,主题B具有3个分区。因此,可能发生的情况是,具有键X的一条记录被哈希到分区A-0和B-1(即,不同的分区号)。但是,对于其他密钥Y,可能会将其哈希到A-0,但会哈希到B-2。
仅当两个主题的分区数相同时,具有相同键的记录才最终位于相同的分区(当然是不同主题)中,这允许处理A-0 / B-0和A-1 / B- 1等在一起。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句