python向kafka发送json数据

1.安装kafka支持库

pip install kafka-python

2.创建python文件

参数key_serializer用来指定键的序列化的方式,参数value_serializer用来指定值的序列化的方式,这里使用 json 来序列化数据,从而实现向 Kafka 传入一个字典,Kafka 自动把它转成 JSON 字符串的效果。

from kafka import KafkaProducer
from kafka.errors import kafka_errors
import traceback
import json


producer = KafkaProducer(
	bootstrap_servers=['192.168.1.214:9092'],       # kafka服务器ip和端口号
	key_serializer=lambda k: json.dumps(k).encode(),      # 假设生产的消息为json字符串
	value_serializer=lambda v: json.dumps(v).encode())     # 假设生产的消息为json字符串

data = {'msg': 'hello kafka!'}

future = producer.send(
    'FaultRecordLog',     # 要发送的kafka主题
	key='mytopic',   # 同一个key值,会被送至同一个分区
	value=data,
	partition=0)    # 向分区1发送消息
print("send {}".format(str(data)))

try:
	future.get(timeout=10)  # 监控是否发送成功
except kafka_errors:  # 发送失败抛出kafka_errors
    traceback.format_exc()

3.运行该python文件

4.使用OffsetExplorer 查看kafka收到的该消息

下一篇文章是消费数据python消费kafka数据_grfstc的博客-CSDN博客

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值