簡體   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