繁体   English   中英

为什么在kafka中对两个Kstream进行共分区,两个流都需要相同数量的分区?

[英]Why does co-partitioning of two Kstreams in kafka require same number of partitions for both the streams?

我想知道为什么在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等在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM