繁体   English   中英

如何将 Json 文件从 Python 发送到 kafka

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM