【问题标题】:kafka-python : Getting error while specifying partition in kafka producerkafka-python:在 kafka 生产者中指定分区时出错
【发布时间】:2018-12-15 22:13:30
【问题描述】:

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

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

出现错误: AssertionError:无法识别的分区

【问题讨论】:

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


    【解决方案1】:

    最可能的原因是你的主题有1个分区,而分区号是从0开始的...

    【讨论】:

    • 是否可以使用 python-kafka 定义它??
    • 用python-kafka定义什么意思???您的主题有多少个分区?
    【解决方案2】:

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

    二、分区数从0开始。

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

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

    【讨论】:

      【解决方案3】:
      1. 创建一个包含 2 个分区的主题。它的分区数从 0 开始。所以会有两个分区 0 和 1。

      2. 当你这样做时,producer.send(topic='test', value=b'test', partition=1),这基本上意味着你将一个 MESSAGE 放入一个带有索引 1 的分区中的主题中。

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

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 2017-04-28
        • 1970-01-01
        • 2018-02-05
        • 1970-01-01
        • 1970-01-01
        • 2019-02-03
        • 1970-01-01
        • 2019-10-05
        相关资源
        最近更新 更多