python消费kafka数据,为什么前面取几次都取不到?

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次才会取到数据?

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!