art*_*ini 2 python apache-kafka kafka-python
我的主题有 3 个分区,我尝试使用以下代码从每个特定分区读取内容
from kafka import KafkaConsumer, TopicPartition
brokers = 'localhost:9092'
topic = 'b3'
m = KafkaConsumer(topic, bootstrap_servers=['localhost:9092'])
par = TopicPartition(topic=topic, partition=1)
m.assign(par)
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE)
kafka.errors.IllegalStateError: IllegalStateError: You must choose only one way to configure your consumer: (1) subscribe to specific topics by name, (2) subscribe to topics matching a regex pattern, (3) assign itself specific topic-partitions.
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
您可以从 KafkaConsumer() 中删除 topic 参数并重试吗?
例子:
# manually assign the partition list for the consumer
from kafka import TopicPartition, KafkaConsumer
consumer = KafkaConsumer(bootstrap_servers='localhost:1234')
consumer.assign([TopicPartition('foobar', 2)])
msg = next(consumer)
Run Code Online (Sandbox Code Playgroud)
参考: http: //kafka-python.readthedocs.io/en/master/