![](/img/trans.png)
[英]Is there a way I can read large number of messages from a kafka topic using multiprocessing in python?
[英]Can't Read the latest Messages from kafka topic
我正在使用 Kafka 的 Spotify docker 版本。 我現在有一個生產者、一個經紀人和一個消費者。
問題是使用這種配置我無法從 Kafka 獲取最新消息。 如果我默認為auto_offset_reset='earliest'
那么我會收到所有消息。
這是我的消費者代碼,即使那里有新消息,它也不會從 Kafka 打印任何消息。
def consumer():
consumer = KafkaConsumer('stories',
enable_auto_commit=False,
value_deserializer=lambda m: json.loads(m.decode('ascii')),
bootstrap_servers=['127.0.0.1:9092'],
auto_offset_reset='latest',
consumer_timeout_ms=1000
)
for message in consumer:
# message value and key are raw bytes -- decode if necessary!
# e.g., for unicode: `message.value.decode('utf-8')`
print("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
message.offset, message.key,
message.value))
有人可以幫助我並讓我知道問題出在哪里嗎?
我只是想從 Kafka 獲取消費者未讀取的消息。
這是 Kafka 消費者: https : //hastebin.com/umuhugacez.py
這是 Kafka Producer: https : //hastebin.com/laderolawi.py
只是一個更新:從 Kafka 0.9 開始,Kafka 使用了新的 Java 版本的消費者,並且 auto.offset.reset 參數名稱發生了變化; 從手冊:
auto_offset_reset 在你的代碼中是錯誤的應該是最早的。
最早:自動將偏移量重置為最早的偏移量
最新:自動將偏移量重置為最新的偏移量
none:如果沒有找到消費者組的先前偏移量,則向消費者拋出異常
其他任何事情:向消費者拋出異常。
我也遇到過這個問題。 無論消費者的設置如何,當我嘗試進行視頻流時,它總是用於緩沖數據。 我的情況是通過在定義消費者后尋求結束的偏移量來解決的。 您可以嘗試添加
consumer.poll()
consumer.seek_to_end()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.