前言
kafka是一个开源的流处理平台,一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
一、confluent-kafka 是什么?
confluent-kafka 模块 confluent-kafka是Python模块,推荐使用,性能优于kafka-python
参考文档:https://docs.confluent.io/current/clients/confluent-kafka-python/index.html
二、使用步骤
1.引入库
安装 : pip install confluent-kafka
代码示例:
# 引入生产者、消费者
from confluent_kafka import Consumer, Producer
# 引入指针和kafka异常数据机制
from confluent_kafka import TopicPartition, KafkaError
2.消费数据
2.1 初始化consumer对象
创建consumer对象,其中参数bootstrap.servers 为kafka的地址:接口, group.id为分组号,default.topic.config为topic的配置设置,其中auto.offset.reset为消费方式:‘smallest’ 每次从最小的offset位置消费,‘latest’ 从最新的offset位置消费数据
代码如下:
conf = {
'bootstrap.servers': "host1:9092", # 地址接口host1:9092
'group.id': "foo", # 分组号
'enable.auto.commit': True, # 是否自动提交偏移量
'default.topic.config': {
'auto.offset.reset': 'smallest'} # 默认设置topic的消费的方式
# 'default.topic.config': {'auto.offset.reset': 'latest'}
}