[英]how to send Json file to kafka from Python
我有一个如下所示的 json 文件,我想将其从 python 发送到 kafka。
Json 文件
filename = 'External_Risk_{}.json'.format(date.today().strftime("%Y%m%d"))
d =df.to_json(filename, orient='records')
发送到卡夫卡
from kafka import SimpleProducer, KafkaClient
import json
from kafka import KafkaProducer
producer =KafkaProducer(bootstrap_servers='xxx.xxx.xxx.xxx')
jd = json.dumps(d)
producer.send_messages(b'message1',jd)
但它不起作用。 将 json 文件发送到 Kafka 的正确方法是什么。
您应该询问如何将文件加载到字符串中,然后您只是将字符串发送到 Kafka
import json
from kafka import KafkaProducer
producer =KafkaProducer(bootstrap_servers='xxx.xxx.xxx.xxx')
with open(filename) as f:
data = json.load(f)
producer.send_message(topic, data.encode('utf-8')
尝试这个
from confluent_kafka import Producer
import json
p = Producer({'bootstrap.servers': 'localhost:9092'})
p.produce('topic', json.dumps({"demo": "message"}))
您可以通过简单地执行以下操作来发送 dict:
producer = KafkaProducer(
acks='all',
bootstrap_servers=['localhost:9092'],
value_serializer=lambda v: bytes(json.dumps(v, default=str).encode('utf-8'))
)
我在返回 lambda 中的 json 之前调用 bytes() 方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.