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 requests证书问题解决
Sep 05 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
python3中pip3安装出错,找不到SSL的解决方式
Dec 12 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
python opencv 实现对图像边缘扩充
Jan 19 Python
Python实现分数序列求和
Feb 25 Python
Django跨域资源共享问题(推荐)
Mar 09 Python
Django-xadmin+rule对象级权限的实现方式
Mar 30 Python
Python Tkinter实例——模拟掷骰子
Oct 24 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 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
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
深入理解js promise chain
2016/05/05 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
Linux下使用python自动修改本机网关代码分享
2015/05/21 Python
Python实现批量修改文件名实例
2015/07/08 Python
python 连接sqlite及简单操作
2017/06/30 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
优秀导游先进事迹材料
2014/01/25 职场文书
元旦晚会邀请函
2014/02/01 职场文书
人力资源作业细则
2014/03/03 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
人工作失职检讨书
2015/05/05 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS