【发布时间】:2020-12-16 08:23:07
【问题描述】:
我在 python 的 pykafka 中使用 KafkaClient。我正在尝试读取一个文本文件并将其行生成一个主题,然后由消费者读取。然而,在运行时,它只读取消息中的单个字母,而不是文本文件的单词或行。我做错了什么?
我的制片人是
from pykafka import KafkaClient
text = open('filename.txt','r').read()
text = text.split()
client = KafkaClient(hosts='localhost:9099')
topic = client.topics['topic']
producer = topic.get_sync_producer()
for i in text:
producer.produce(i.encode('ascii'))
我的消费者是
from pykafka import KafkaClient
client = KafkaClient(hosts='localhost:9099')
topic = client.topics['topic']
consumer = topic.get_simple_consumer()
for message in consumer:
if message is not None:
print(message.offset, message.value.decode())
不胜感激。我想知道这是否是读取文本文件并通过 kafka 运行的最佳方式。
【问题讨论】:
-
您的问题似乎是“如何逐行读取文件”,与kafka无关。您是否使用您在答案中编写的解决方案尝试了 pykafka 库?
标签: python apache-kafka pykafka