如何选择主题的分区数?如果记录要根据键进行分区,并且有比没有分区更多的键,会发生什么情况?只有一种方法可以让具有相同密钥的记录进入一个分区吗?开发人员不能自定义它吗?
izj3ouym1#
创建主题时可以指定分区数。以后可以增加分区的数量如果在kafka中使用默认的partitioner类,则具有相同键的所有记录都将转到一个分区。 return Utils.abs(Utils.murmur2(record.key())) % numPartitions; 您可以指定自己的partitioner类,并在其中实现所需的任何逻辑。为此,您需要覆盖生产者属性 partitioner.class 用你自己的实现。
return Utils.abs(Utils.murmur2(record.key())) % numPartitions;
partitioner.class
1条答案
按热度按时间izj3ouym1#
创建主题时可以指定分区数。以后可以增加分区的数量
如果在kafka中使用默认的partitioner类,则具有相同键的所有记录都将转到一个分区。
return Utils.abs(Utils.murmur2(record.key())) % numPartitions;
您可以指定自己的partitioner类,并在其中实现所需的任何逻辑。为此,您需要覆盖生产者属性partitioner.class
用你自己的实现。