使用Python操作Kafka(Windows中)

1.在使用Python操作kafka之前,需要安装第三方模块python-kafka(在windows命令窗口)

win+r--->输入cmd然后回车

(或者在搜索那里直接输入cmd然后回车)

会出现一个小黑窗

 

输入命令pip install kafka-python安装python-kafka模块(出现下面这个表示成功)

 查看我们安装的模块的版本信息(出现kafka-python2.0.2再次表示我们安装模块成功)

 2.编写一个score.csv文件

先在桌面新建一个文档,文件内容为

"Name","Score"
"zhang san",99.0
"li si",49.5
"wang hong",82.5
"liu qian",76.0
"shen teng",78.0
"ma li",88.0

然后修改文件的名字和文件拓展名为score.csv,然后将文件拖到python下,(因为我创建了一个kafkapython的包,所以我拖到的是这个包的下面)

 3.新建producer.py(要求和文件score.csv在同一个目录下)生产者读取文件的所有内容,然后将其以JSON字符串的形式发送给Kafka消费者

producer.py的内容为:

# 导入相关模块
import os
import json
import csv
#导入kafka的生产者模块
from kafka import KafkaProducer
# 连接kafka
producer = KafkaProducer(bootstrap_servers = 'localhost:9092')
# 读取文件的内容  getcwd()获取的是文件的绝对路径
with open(os.getcwd()+"\\score.csv") as fp:
    reader = csv.reader(fp) # 读取csv的内容
    # 将读取的内容转换为list
    data = list(reader)
    # 需要将读取的数据转换为字节类型
    data1 = json.dumps(data).encode('utf-8')
    # 以字节形式将数据发送到kafka
    producer.send('test04',data1)
# 关闭资源
producer.close()

4.新建consumer.py消费者来获得消息并将其显示到屏幕上

 consumer.py的内容为:

# 导入模块
import json
# 导入kafka的消费模块
from kafka import KafkaConsumer
# 连接kafka
consumer = KafkaConsumer('test04',bootstrap_servers = 'localhost:9092',group_id=None,auto_offset_reset='smallest')
# 遍历内容
for msg in consumer:
    row = msg.value.decode('utf-8')
    list = json.loads(row)
    for item in list:
        print("%s\t%s"%(item[0],item[1]))

5.先在windows命令窗口开启 Zookeeper和Kafka

开启 Zookeeper和Kafka可以参考:Kafka的安装和使用(Windows中)_瑾寰的博客-CSDN博客2.3.1.2在小黑窗3中输入.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic_test001然后回车。在黑窗口3中输入.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topic_test001然后回车。https://blog.csdn.net/qq_68383591/article/details/130314335?spm=1001.2014.3001.5502

6.先运行producer.py再运行consumer.py

 (运行consumer.py看到我们创建的score.csv文件表示我们成功了!)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值