[英]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.