kafka-python 获取topic lag值方式


Posted in Python onDecember 23, 2019

说真,这个问题看上去很简单,但“得益”与kafka-python神奇的文档,真的不算简单,反正我是搜了半天还看了半天源码。

直接上代码吧

from kafka import SimpleClient, KafkaConsumer
from kafka.common import OffsetRequestPayload, TopicPartition

def get_topic_offset(brokers, topic):
  """
  获取一个topic的offset值的和
  """
  client = SimpleClient(brokers)
  partitions = client.topic_partitions[topic]
  offset_requests = [OffsetRequestPayload(topic, p, -1, 1) for p in partitions.keys()]
  offsets_responses = client.send_offset_request(offset_requests)
  return sum([r.offsets[0] for r in offsets_responses])


def get_group_offset(brokers, group_id, topic):
  """
  获取一个topic特定group已经消费的offset值的和
  """
  consumer = KafkaConsumer(bootstrap_servers=brokers,
               group_id=group_id,
               )
  pts = [TopicPartition(topic=topic, partition=i) for i in
      consumer.partitions_for_topic(topic)]
  result = consumer._coordinator.fetch_committed_offsets(pts)
  return sum([r.offset for r in result.values()])


if __name__ == '__main__':
  topic_offset = get_topic_offset("brokers", "topic")
  group_offset = get_group_offset("brokers", "group_id", "topic")
  lag = topic_offset - group_offset

以上这篇kafka-python 获取topic lag值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
使用Python写CUDA程序的方法
Mar 27 Python
python中模块的__all__属性详解
Oct 26 Python
python交互式图形编程实例(二)
Nov 17 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
python tornado使用流生成图片的例子
Nov 18 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
使用Python实现分别输出每个数组
Dec 06 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 Python
python爬虫基础知识点整理
Jun 02 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 #Python
python pyenv多版本管理工具的使用
Dec 23 #Python
Python测试Kafka集群(pykafka)实例
Dec 23 #Python
Python with语句和过程抽取思想
Dec 23 #Python
python每5分钟从kafka中提取数据的例子
Dec 23 #Python
Python彻底删除文件夹及其子文件方式
Dec 23 #Python
win10下python2和python3共存问题解决方法
Dec 23 #Python
You might like
php中的动态调用实例分析
2015/01/07 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
js单例模式详解实例
2013/11/21 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
gearman的安装启动及python API使用实例
2014/07/08 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
用Python解数独的方法示例
2019/10/24 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
项目经理岗位职责
2013/11/11 职场文书
《散步》教学反思
2014/03/02 职场文书
物业保安员岗位职责
2014/03/14 职场文书
运输服务质量承诺书
2014/03/27 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
个人工作主要事迹
2014/05/08 职场文书
社保转移委托书范本
2014/10/08 职场文书
新郎接新娘保证书
2015/05/08 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS