kafka-python:在kafka生产者中指定分区时出错

时间:2018-07-07 16:34:04

标签: python-3.x kafka-producer-api

我正在尝试将数据插入同一主题的不同分区。我在Linux机器上使用python-kafka 1.4.3

from kafka import KafkaProducer
producer = KafkaProducer() 
producer.send(topic='test', value=b'test', partition=1)

获取错误: AssertionError:无法识别的分区

3 个答案:

答案 0 :(得分:0)

最可能的原因是您的主题有1个分区,并且分区号以0 ...开头。

答案 1 :(得分:0)

首先,检查该主题的分区总数。

第二,分区计数从0开始。

producer.send(topic='test', value=b'test', partition=1)

上面的代码会将数据插入PARTITION 2。 如果要在分区1中插入数据,只需执行partition = 0

答案 2 :(得分:0)

  1. 创建一个具有2个分区的主题。它的分区计数从0开始。因此将有两个分区0和1。

  2. 执行producer.send(topic='test', value=b'test', partition=1)操作时,基本上意味着您正在使用INDEX 1将消息放入“分区”的主题中。

  3. 因此,您可以创建具有2个分区的TOPIC,然后可以将数据放入索引为1的分区中。或者,将partition = 0放置(默认情况下,每个主题将有1个分区)。