Python调用kafka构建完整实例分析与应用 (python教程)

技术教程 2025-05-04 21:43:37 浏览
Python调用kafka构建完整实例分析与应用

Python调用kafka构建完整实例分析与应用

2020-06-04 12:15:08这里应用端给出的方案是使用kafka来做,但是这个我在之前没有接触过,所以没有头绪,就想着在本机搭建一下kafka的环境,来去熟悉整个操作过程。

近期遇到一个需求就是我们需要把当前比较耗费资源的接口开发成异步通讯的机制,简单来说就是有一个消息队列来不停地进行消息的集中分发与任务处理,这里应用端给出的方案是使用kafka来做,但是这个我在之前没有接触过,所以没有头绪,就想着在本机搭建一下kafka的环境,来去熟悉整个操作过程。

接下来就先开始kafka环境的安装。kafka的安装需要依赖于zooeleeper模块,虽然说kafka自带了zooeleeper模块,但是网上清一色的教程都说还是需要自己手动提前去安装zooeleeper模块才行的,所以这里的第一步就是安装zooeleeper模块,下载地址在这里:

python教程

我下载的是3.4.14版本的:

安装的话是很简单的,直接解压缩到本地,之后按照下面的步骤进行操作即可:

安装和启动成功zooeleeper模块后,就可以下载和安装kafka模块了,这里需要注意一下下载合适的版本才可以的,网上很多教程都是比较早的了,所以给出来的版本信息可能找不到了也可能不再合适了,这里我是摸索进行尝试安装了,在第一次安装失败之后,我查了很多教程,后面发现自己安装的scala不对,这里需要注意的就是kafka是基于scala编写的,所以想要成功安装kafka就必须保证scala成功安装好了。

下载kafka另一个比较重要的点或者是需要注意的点就是需要下载和安装二进制的文件,这里我的下载链接如下:

我下载的是下面的版本:

下载到本地后,直接解压缩即可,结果截图如下所示:

进入到当前目录后,打开CMD窗口,执行下面的命令:

不出意外,只要前面的环境条件都满足了,这里应该是可以正常启动的,终端会输出一大堆密密麻麻的日志。

到这里kafka就安装成功了,下面就可以进行自己的使用了。

这里简单说一下,在编写程序的时候遇到了一些问题,报错如下:

解决上面的报错需要处理两个地方,分别如下:

1、修改系统hosts文件

2、修改kafka对应的配置文件

效果图如下所示:

处理完上面两个部分就可以了,接下来我们基于Python来开发对应的实例。

实例一:

这个是官方提供的实例,比较简单,主要是编写对应的生产者和消费者,下面是具体的代码实现:

生产者代码:

消费者代码:

接下来在终端启动消费者,然后执行生产者,观察消费者终端的输出:

可以看到,生产者发出对应的demo Topic之后,消费者消费了这个Topic产生的数据,这是一个比较简单的实例应用。

实例二:

这部分主要是贴合自己的应用来构建的实例,这里需要传输的是json数据对象,下面是具体的代码实现:

生产者代码:

消费者代码:

接下来在终端启动消费者,然后执行生产者,生产者的输出如下:

消费者输出如下:

可以看到,生产者发出去的json数据对象已经被消费者“消费”了,本部分主要是演示json数据的处理与应用。到这里,本文的主要内容就结束了。


自学Linux云计算能学好吗?

作为云计算市场的后来者,腾讯云近期攻势猛烈,从面向企业的云服务,到面向用户的个人云市场全面发力,更将战火蔓延至海外市场。 吸引了越来越多的人开始加入到学习linux云计算的行列,那对于没有基础的同学来讲,linux云计算好学吗?我们首先需要了解一下云计算是干什么的,都学习哪些内容。 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。 学习云计算你需要知道虚拟化,虚拟化目前分为服务器虚拟化(以VMware为代表)、桌面虚拟化、应用虚拟化等。 可以分为以下几个阶段来学习:1. Linux云计算网络管理实战2. Linux系统管理及服务配置实战3. Linux Shell自动化运维编程实战4. 开源数据库SQL/NOSQL运维实战5. 大型网站高并发架构及自动化运维项目6. 网站安全渗透测试及性能调优项目实战7. 公有云运维技术项目实战8. 企业私有云架构及运维实战9. Python自动化运维开发基础10. Python自动化运维开发项目实战11. Python自动化运维开发项目实战12. 搜狐畅游项目实训具体学习目标:1、掌握大型网站架构、网站服务器运维、数据库运维、自动化运维技术;2、能够利用Shell及Python编写自动化运维工具,例如CMDB、自动化运维平台等、公有云管理系统;3、能够解决运维过程中出现的各种问题,例如网站架构问题等;4、具备中小型公司公有云运维的能力。 例如公司使用的是阿里云、亚马逊云;5、掌握中大型公司私有云平台的构建及运维,例如构建及运维京东私有云平台;6、能够利用Python开发运维中的各种工具,以及对现有软件如Zabbix、Ansible进行二次开发;7、具备快速学习及适应新技术迭代的综合能力。 对于初学者学习云计算,给出的建议是:基础是关键,在涉猎技术范围广泛的同时,所学所了解的知识领域一定要成体系,抓住一个方向,作为一技之长。 学以致用是,在学习过程中,重在理解,贵在实践,积极将所学所了解的技术运用于项目实践,成就你的云计算自学梦想。

大数据专业主要学什么?

大数据技术专业属于交叉学科:以统计学、数学、计算机为三大支撑性学科;生物、医学、环境科学、经济学、社会学、管理学为应用拓展性学科。

此外还需学习数据采集、分析、处理软件,学习数学建模软件及计算机编程语言等,知识结构是二专多能复合的跨界人才(有专业知识、有数据思维)。

python教程

以中国人民大学为例:

基础课程:数学分析、高等代数、普通物理数学与信息科学概论、数据结构、数据科学导论、程序设计导论、程序设计实践。

必修课:离散数学、概率与统计、算法分析与设计、数据计算智能、数据库系统概论、计算机系统基础、并行体系结构与编程、非结构化大数据分析。

选修课:数据科学算法导论、数据科学专题、数据科学实践、互联网实用开发技术、抽样技术、统计学习、回归分析、随机过程。

大数据云计算好不好学习?

学习大数据处理需要的语言:javaMR语言这种语言产生很早了,大家也或多或少的接触过,但是在大数据中使用已经有的原型进行构建庞大系统,是一种基本的选择。 Scala语言以java为基础的语言,和java很像,对任何想要进行大规模的机械学习或是建立高阶的算法,Scala是逐渐兴起的工具,善于呈现且拥有建立可靠系统的能力。 Hadoop在以java为基础的大数据处理当中,Hadoop为作一批数据处理,发展以java为基础的架构关键。 相对于其他处理工具而言,Hadoop慢许多,但是无比的准确可被后端数据库分析广泛使用Kafka andStorm它是一个特别快速的查询信息系统,但是因为太快了在实施操作时会犯错,有时候会漏掉东西。 Pythom语言Python拥有R语言处理复杂数据的能力及更务实的语言特质,更简单和直观,在近几年的成长很快。 在数据处理范畴内,通常在规模与复杂之间要有个选择,Python无疑当选。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐