python 消费kafka数据时,刚开始连接时为什么取不到数据?
代码如下:
# -*- coding:utf8 -*-
from kafka import KafkaConsumer
from kafka import TopicPartition
import kafka
import time
# 测试kafka poll方法能拉取多少的记录
consumer = KafkaConsumer(
bootstrap_servers=['192.168.13.202:9092'],
group_id='group-1',
auto_offset_reset='earliest',
enable_auto_commit=False)
consumer.subscribe('test')
print ("t1",time.time())
while True:
print("t2", time.time())
msg = consumer.poll(timeout_ms=100, max_records=5) # 从kafka获取消息
# print (len(msg))
for i in msg.values():
for k in i:
print(k.offset, k.value)
time.sleep(1)
打印的结果却是
t1 1567669170.438951
t2 1567669170.438951
t2 1567669171.8450315
t2 1567669172.945094
t2 1567669174.0471573
t2 1567669175.1472201
0 b'{"ast":"\xe7\x82\xb"}'
1 b'{"ast":"","dm":2}'
2 b'{"ast":"12"}'
3 b'{"ast":"sd"}'
4 b'{"ast":"12ds"}'
t2 1567669176.1822793
为什么连接上kafka之后,会取5次才会取到数据?