如何为主题创建或设置分区数?

How to create or set number of partitions for a topic?

我正在使用 python 3.6.8kafka-python=2.0.2

是否可以通过 python 代码设置主题的分区数?

我的生产者代码如下:

producer = KafkaProducer(bootstrap_servers=['localhost:9092'],
                             value_serializer=lambda x:
                             dumps(x).encode('utf-8'))

producer.send("RANDOM_NEW_TOPIC", value={'test'})

我查看了手册,但看不到如何更新主题的分区数

我们可以使用 Kafka Admin CreatePartitions API 来增加分区数。下面显示了如何将主题 topic1

的分区数增加到 4
from kafka import KafkaAdminClient
from kafka.admin.new_partitions import NewPartitions

client = KafkaAdminClient(bootstrap_servers='localhost:9092')

rsp = client.create_partitions({
    'topic1': NewPartitions(4)
})
print(rsp)