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之list和str比较
Sep 20 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
Python字符串拼接的几种方法整理
Aug 02 Python
Python有序字典简单实现方法示例
Sep 28 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
Python实现的连接mssql数据库操作示例
Aug 17 Python
python实现飞机大战微信小游戏
Mar 21 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
python基于opencv检测程序运行效率
Dec 28 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
Mar 17 Python
keras load model时出现Missing Layer错误的解决方式
Jun 11 Python
Python切片列表字符串如何实现切换
Aug 06 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
如何基于python实现脚本加密
2019/12/28 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
大学自我鉴定范文
2013/12/26 职场文书
会计求职信范文
2014/05/24 职场文书
留守儿童工作方案
2014/06/02 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
店面出租协议书范本
2014/11/28 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
《山中访友》教学反思
2016/02/24 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书