iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python对kafka的基本操作
  • 589
分享到

python对kafka的基本操作

操作pythonkafka 2023-01-31 07:01:20 589人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

from kafka import KafkaProducerfrom kafka import KafkaConsumerfrom kafka.structs import TopicPartitionimport time boots

from kafka import KafkaProducer
from kafka import KafkaConsumer
from kafka.structs import TopicPartition
import time

bootstrap_servers = []
class OperateKafka:
def init(self,bootstrap_servers,topic):
self.bootstrap_servers = bootstrap_servers
self.topic = topic

"""生产者"""
def produce(self):
    producer = KafkaProducer(bootstrap_servers=self.bootstrap_servers)
    for i in range(4):
        msg = "msg%d" %i
        producer.send(self.topic,key=str(i),value=msg)
    producer.close()

"""一个消费者消费一个topic"""
def consume(self):
    #consumer = KafkaConsumer(self.topic,auto_offset_reset='earliest',group_id="testgroup",bootstrap_servers=self.bootstrap_servers)
    consumer = KafkaConsumer(self.topic,bootstrap_servers=self.bootstrap_servers)
    print consumer.partitions_for_topic(self.topic)  #获取test主题的分区信息
print consumer.topics()  #获取主题列表
print consumer.subscription()  #获取当前消费者订阅的主题
print consumer.assignment()  #获取当前消费者topic、分区信息
print consumer.beginning_offsets(consumer.assignment()) #获取当前消费者可消费的偏移量
consumer.seek(TopicPartition(topic=self.topic, partition=0), 1)  #重置偏移量,从第1个偏移量消费
    for message in consumer:
        print ("%s:%d:%d: key=%s value=%s" 
        % (message.topic,message.partition,message.offset, message.key,message.value))

"""一个消费者订阅多个topic """
def consume2(self):
    consumer = KafkaConsumer(bootstrap_servers=['192.168.124.201:9092'])
consumer.subscribe(topics=('TEST','TEST2'))  #订阅要消费的主题
print consumer.topics()
print consumer.position(TopicPartition(topic='TEST', partition=0)) #获取当前主题的最新偏移量
for message in consumer:
        print ("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
                                      message.offset, message.key,
                                      message.value))
"""消费者(手动拉取消息)"""
def consume3(self):
    consumer = KafkaConsumer(group_id="mygroup",max_poll_records=3,bootstrap_servers=['192.168.124.201:9092'])
consumer.subscribe(topics=('TEST','TEST2'))
while True:
        message = consumer.poll(timeout_ms=5)   #从kafka获取消息
        if message:
        print message
        time.sleep(1)

def main():
bootstrap_servers = ['192.168.124.201:9092']
topic = "TEST"
operateKafka = OperateKafka(bootstrap_servers,topic)
operateKafka.produce()
#operateKafka.consume()
#operateKafka.consume2()
operateKafka.consume3()
main()

--结束END--

本文标题: python对kafka的基本操作

本文链接: https://www.lsjlt.com/news/190994.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python对kafka的基本操作
    from kafka import KafkaProducerfrom kafka import KafkaConsumerfrom kafka.structs import TopicPartitionimport time boots...
    99+
    2023-01-31
    操作 python kafka
  • Python中对基本文件操作
    1.文件的作用 保存数据放在磁盘中 2.打开文件 f=open(‘文件’,‘w’)或者f=open(‘文件’,‘r’) 3.文件操作 3.1 写数据(write) 如果文件不存在那么创建,如果存在那...
    99+
    2023-08-31
    python 数学建模 开发语言
  • python 操作kafka
    https://pypi.python.org/pypi/pykafka 最近项目中总是跟java配合,我一个写python的程序员,面对有复杂数据结构的java代码转换成python代码,确实是一大难题,有时候或多或少会留有一点...
    99+
    2023-01-31
    操作 python kafka
  • Python操作SQLLite(基本操作
      SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。 Python SQLITE数据库是一款非常...
    99+
    2023-01-31
    操作 Python SQLLite
  • OpenCV-Python 对图像的基本操作代码
    import cv2 as cv import numpy as np import matplotlib.pyplot as plt # 设置兼容中文 plt.rcParams...
    99+
    2024-04-02
  • python基本操作(四)
    为什么交互 计算机取代人类,解放劳动力 如何交互 print('-'*100) input('请输入你的姓名:') print(""100) Python2和Python3的交互(熟悉) name = raw_input('请输入你的姓...
    99+
    2023-01-31
    操作 python
  • python基本操作(五)
    if 条件: 代码1 代码2 代码3 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行) cls ='humale' gender = 'fema...
    99+
    2023-01-31
    操作 python
  • Python中PyMySQL的基本操作
    目录简介1、查找数据2、添加数据3、删除数据4、更改数据简介 Pymysql 是在 python3.x 版本中用于连接 MySQL 服务器的一个库 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包...
    99+
    2024-04-02
  • python 字典基本操作
    字典的基本构成---键+:+键值+{},如a={'a':1,'b':2,'c':3}字典的键是不可以改变的,所以定义的时候键应该是数字,字符,元组等不可变值,不能用列表如果想要修改某一键值,直接修改即可---a['c']=4如果想要添加一个...
    99+
    2023-01-31
    字典 操作 python
  • 使用 Python 操作 Kafka
    使用 Python 操作 Kafka Apache Kafka 是一个分布式的流处理平台,它具有高吞吐量、可扩展性和持久性的特点。通过使用 Python 的 kafka-python 模块,我们可以方...
    99+
    2023-09-26
    python kafka 开发语言
  • Python中列表的基本操作
    本篇内容主要讲解“Python中列表的基本操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中列表的基本操作”吧!如何创建列表?列表是最常用的Python数据类型,它可以作为一个方括...
    99+
    2023-06-02
  • Java WorkBook对Excel的基本操作方法
    1、异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException   解决方法:使用...
    99+
    2023-05-14
    Java WorkBook Excel操作 Java操作Excel
  • Python文件(夹)基本操作
    1、判断文件(夹)是否存在。os.path.exists(pathname)2、判断路径名是否为文件。os.path.isfile(pathname)3、判断路径名是否为目录。os.path.isdir(pathname)4、创建文件。os...
    99+
    2023-01-31
    操作 文件 Python
  • Python列表的基本操作介绍
    目录1、向List中添加元素的方法1.1 Python append()方法添加元素1.2 Python extend()方法添加元素1.3 Python insert()方法插入元...
    99+
    2024-04-02
  • python队列的基本操作示例
    这篇文章给大家分享的是有关python队列的基本操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语...
    99+
    2023-06-14
  • mysql的基本操作
    一、库操作 创建库:create database 数据库的名字; 删除库:drop database 数据库的名字; 查看当前有多少个数据库:show databases; 查看当前使用的数据库:select databas...
    99+
    2023-01-31
    操作 mysql
  • jquery对元素的基本操作有哪些
    这篇文章主要介绍“jquery对元素的基本操作有哪些”,在日常操作中,相信很多人在jquery对元素的基本操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery...
    99+
    2024-04-02
  • kafka基本版与kafka acl版性能对比(单机版)
    线上已经有kafka集群,服务运行稳定。但是因为产品升级,需要对kakfa做安全测试,也就是权限验证。但是增加权限验证,会不会对性能有影响呢?影响大吗?不知道呀!因此,本文就此来做一下对比! 测试环境本文使用的是单机kafka测试...
    99+
    2023-01-31
    单机版 性能 kafka
  • SQLServer2008 基本操作
    SQLServer2008 基本操作 ...
    99+
    2024-04-02
  • MySQL 基本操作
    目录 数据库的列类型 数据库基本操作 SQL语言规范 SQL语句分类 查看表,使用表 管理数据库  创建数据库和表 删除数据库和表 向数据表中添加数据 查询数据表中数据 修改数据表的数据 删除数据表中数据 修改表明和表结构 扩展表结构(增加...
    99+
    2023-09-03
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作