Python 使用 kafka

一、kafka-python

1、consumer【消费者】

A、配置参数

1)bootstrap_servers - 初始化集群。格式:[127.0.0.1:9092]

2)auto_offset_reset - 充值偏移量。选项:earliest - 移至最早位置,即第一条。latest - 移至最新位置。默认为“”latest”

3)consumer_timeout_ms - 多长时间内kafka不提供消费数据,自动退出。单位:毫秒。1000 = 1秒

B、函数

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

订阅主题。如果配置的时候没有配置主题可以在这里进行配置。

 

 

 

2、producer【生产者】

A、配置参数

1)bootstrap_servers - 初始化集群。格式:[127.0.0.1:9092]

2)partitioner - 分区编号。指定消息发往哪个分区。

B、函数

1)send(topic, value=None, key=None, headers=None, partition=None, timestamp_ms=None)

功能:将消息发布到主题

参数:

topic - 主题

value - 消息内容

partition - 指定分区

 

 

 

实例

1、消费者(从第一条开始输出)

auto_offset_reset:重置偏移量。【earliest】移至最早可用(第一条);【latest】移至最新消息,默认latest。

相当于:
[root@master135 kafka]# bin/kafka-console-consumer.sh --bootstrap-server master135:9092 --topic test --from-beginning

consumer.py

#coding=utf-8
import time
from kafka import KafkaConsumer

consumer = KafkaConsumer(
    'test', #主题
    bootstrap_servers=['master135:9092'],
    auto_offset_reset='earliest'
)
for msg in consumer:
    print(msg)

producer.py

#coding=utf-8
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='master135:9092')
for i in range(10):
    producer.send('test',str(i))
producer.close()

注:python生产者一定要加上producer.close(),不然不执行

 

 

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值