kafka python教程_kafka python 指定分区消费

本文是关于如何使用Python与Kafka进行交互的教程,重点介绍如何指定分区消费。通过创建KafkaConsumer实例,设置参数如bootstrap_servers、auto_offset_reset等,并使用assign或subscribe方法来指定消费的主题。此外,还提到了KafkaConsumer类的关键API及其参数说明,如auto_offset_reset策略、自动提交offset等。
摘要由CSDN通过智能技术生成

通过assign、subscribe两者之一为消费者设置消费的主题

consumer = KafkaConsumer(bootstrap_servers=['127.0.0.1:9092'],

auto_offset_reset='latest',

enable_auto_commit=True, # 自动提交消费数据的offset

consumer_timeout_ms= 10000, # 如果1秒内kafka中没有可供消费的数据,自动退出

value_deserializer=lambda m: json.loads(m.decode('ascii')), #消费json 格式的消息

client_id='consumer-python3'

)

# consumer.assign([TopicPartition('MY_TOPIC1', 0)])

# msg = next(consumer)

# print(msg)

consumer.subscribe('MY_TOPIC1')

for msg in consumer:

print (msg)

API及常用参数说明:

class kafka.KafkaConsumer(*topics, **configs)

*topics (str) – 可选,设置需要订阅的topic,如果未设置,需要在消费记录前调用subscribe或者assign。

client_id (str) – 客户端名称,默认值: ‘kafka-python-{version}’

group_id (str or None) – 消费组名称。如果为None,则通过group coordinator auto-partition分区分配,offset提交被禁用。默认为None

auto_offset_reset (str) – 重置offset策略: 'earliest'将移动到最老的可用消息, 'latest'将移动到最近消息。 设置为其它任何值将抛出异常。默认值:'latest'。

enable_auto_commit (bool) – 如果为True,将自动定时提交消费者offset。默认为True。

auto_commit_interval_ms (int) – 自动提交offset之间的间隔毫秒数。如果enable_auto_commit 为true,默认值为: 5000。

value_deserializer(可调用对象) - 携带原始消息value并返回反序列化后的value

subscribe(topics=(), pattern=None, listener=None)

订阅需要的主题

topics (list) – 需要订阅的主题列表

pattern (str) – 用于匹配可用主题的模式,即正则表达式。注意:必须提供topics、pattern两者参数之一,但不能同时提供两者。

metrics(raw=False)

获取消费者性能指标。

参考API:https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html

原文强参考:https://www.cnblogs.com/shouke/p/10463377.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值