网络编程
位置:首页>> 网络编程>> Python编程>> python连接kafka加载数据的项目实践

python连接kafka加载数据的项目实践

作者:呼伦贝尔-钢蛋儿  发布时间:2021-04-23 07:14:38 

标签:python,连接,kafka

背景:读取TXT文件,加载到kafka中,然后通过logstash消费kafka中的数据加载到es中

第一步:导入相应的依赖包

pip install kafka-python  
pip install loguru
pip install msgpack

第二步:编写连接kafka的代码

# -*- coding: utf-8 -*-
import json
import json
import msgpack
from loguru import logger
from kafka import KafkaProducer
from kafka.errors import KafkaError
def kfk_produce_1():
   """
       发送 json 格式数据
   :return:
   """
   producer = KafkaProducer(
   //连接kafka集群的配置信息
       bootstrap_servers='192.168.85.109:9092',
       value_serializer=lambda v: json.dumps(v).encode('utf-8')
   )
   //这里是你创建topic和打算发送数据的地方
   producer.send('python_test_topic', {'key': 'value'})
kfk_produce_1()

第三步:验证是否在kafka中创建topic

kafka的消费者界面上已经出现了创建的topic,并且数据也接收到了

注意:下面的消费者界面的按钮,要先运行起来,选择好kafka环境和topic,group以后,点击那个绿色的运行按钮,就能实时看到发送过来的消息了,😄

python连接kafka加载数据的项目实践

问题记录:

python连接kafka加载数据的项目实践

然后在使用时,报错提示:ImportError: cannot import name ‘KafkaConsumer’
找了一会儿最后发现自己创建的文件名叫做:kafka.py,突然意识到问题出在哪里了。

原因:

简单说就是因为,创建的文件名是kafka.py,这会导致代码运行时,python解释器查找kafka的模块时,就找到自身kafka.py了,所以就报错。
以后写代码的时候,还是要注意,切记不要用关键字去命名文件,避免不必要的麻烦。

来源:https://blog.csdn.net/qq_38220334/article/details/130718425

0
投稿

猜你喜欢

  • 1.列表(List)元组是由一对方括号构成的序列。列表创建后,可以根据自己的需要改变他的内容>>> list=[1,2,3
  • 马上就要过节了,想把自己的项目搞得酷炫一些,对整个网站的按钮添加图标、飘花效果、首屏大图展示、顶部导航背景图,于是就写了这一遍文字,如有兴趣
  • 最近,我在做网页的时候,经理老是反应网页中一些栏目中没有背景图片。我说:背景图片有的,你刷新看看。但是他说:我可以刷新看看,但是你不能老是让
  • python excel文件(.xls文件)如何处理xlrd 用于读取文件,xlwt 用于写入文件,xlutils 是两个工具包的桥梁,也就
  • 扫雷是一个非常经典的WIN游戏,我们教给大家用python语言来写出这个游戏,以下是全部实例代码:#!/usr/bin/python#cod
  • python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象。。。。。。我们通
  • 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数
  • 使用命令行时,如果要添加选项的话,python 2.3里新增加了一个模块叫optparse,也是专门来处理命令行选项的。from optpa
  • OpenCVOpenCV 是计算机视觉领域最受欢迎的开源库,起初它由 C/C ++ 编写,现在用 Python 也能使用。OpenCV 可以
  • MySQL内部复制功能是建立在两个或两个以上服务器之间,通过设定它们之间的主-从关系来实现的。其中一个作为主服务器,其它的作为从服务器。本节
  • 本文实例为大家分享了python监控nginx端口和进程状态的具体代码,供大家参考,具体内容如下#!/usr/local/bin/pytho
  • 通过status命令,查看Slow queries这一项,如果值长时间>0,说明有查询执行时间过长以下为引用的内容:mysql>
  • 折纸是日本著名的折叠纸张的艺术。折纸艺术只是使用一些不同的折叠方式,却能被用各种各样的方式组合成错综复杂的设计。而受折纸启发的logo设计则
  • 测试语法如下:powered by jb51.netexec GetRecordFromPage news,newsid,10,100000
  • 上次在blueidea上看到一个元素圆角的实现方法,但是那个太复杂了。于是就自己写了一个函数,可以将元素自动圆角,如div层,表格等。共有四
  • 去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim、ltrim 或 rtrim,但在js
  • 作者:JavaScript Kit译者:子乌(Sheneyan)翻译日期:2006-02-12英文原文:Conditional Compil
  • 见下:<% FOR i = 1 TO 1000 n =
  • 复习回顾:Python 对于时间日期操作提供了很多方法,我们前面已经学习了2个模块:基于Unix 时间戳范围限制在1970~2038年的时间
  • 简介Python 的序列(sequence)通常指一个可迭代的容器,容器中可以存放任意类型的元素。列表和元组这两种数据类型是最常被用到的序列
手机版 网络编程 asp之家 www.aspxhome.com