python每5分钟从kafka中提取数据的例子


Posted in Python onDecember 23, 2019

我就废话不多说了,直接上代码吧!

import sys
sys.path.append("..")
from datetime import datetime
from utils.kafka2file import KafkaDownloader
import os
"""
实现取kafka数据,文件按照取数据的间隔命名
如每5分钟从kafka取数据写入文件中,文件名为当前时间加5
"""

TOPIC = "rtz_queue"
HOSTS = "ip:9092,ip:9092"
GROUP = "2001"

def get_end_time(hour,minute,time_step):
 if (minute+time_step)%60<60:
  if (minute+time_step)%60<10:
   return str(hour+int((minute+time_step)/60))+":"+"0"+str((minute+time_step)%60)
  else:
   return str(hour+int((minute+time_step)/60))+":"+str((minute+time_step)%60)
 else:
  pass

def kafkawritefile(time_step,time_num):
 start = datetime.now()
 downloader = KafkaDownloader(HOSTS, TOPIC, GROUP)
 i = 1
 while(i<=time_num):
  end_time = get_end_time(start.hour, start.minute,i*time_step)
  end_time_file = end_time.replace(':', '_')
  outfile_path = "/data/tmp/" + end_time_file + ".csv"

  if os.path.exists(outfile_path):
   os.remove(outfile_path)
  writefile = open(outfile_path, 'a+', encoding='utf-8')
  
  for msg in downloader.message():
   curr_time = datetime.now()
   curr_time = str(curr_time)
   split_curr_time = curr_time.split(' ')
   curr_time_str = split_curr_time[1][0:5]
  
   if curr_time_str >= str(end_time):  
    break
  i += 1

if __name__=='__main__':
 time_step = 15
 time_num = 1
 kafkawritefile(time_step,time_num)

以上这篇python每5分钟从kafka中提取数据的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python获取系统默认字符编码的方法
Jun 04 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
Python装饰器(decorator)定义与用法详解
Feb 09 Python
python 列表降维的实例讲解
Jun 28 Python
Python多图片合并PDF的方法
Jan 03 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
python使用布隆过滤器的实现示例
Aug 20 Python
python判断字符串以什么结尾的实例方法
Sep 18 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
python中filter,map,reduce的作用
Jun 10 Python
Python彻底删除文件夹及其子文件方式
Dec 23 #Python
win10下python2和python3共存问题解决方法
Dec 23 #Python
py-charm延长试用期限实例
Dec 22 #Python
python分布式计算dispy的使用详解
Dec 22 #Python
使用python实现哈希表、字典、集合操作
Dec 22 #Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 #Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 #Python
You might like
解析php5配置使用pdo
2013/07/03 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
python实现给字典添加条目的方法
2014/09/25 Python
python私有属性和方法实例分析
2015/01/15 Python
Python随机生成数模块random使用实例
2015/04/13 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
python基础教程之分支、循环简单用法
2016/06/16 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
django富文本编辑器的实现示例
2019/04/10 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
django框架forms组件用法实例详解
2019/12/10 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
如何真正的了解python装饰器
2020/08/14 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
门市房租房协议书
2014/12/04 职场文书
颐和园的导游词
2015/01/30 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS