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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
在Python中使用模块的教程
Apr 27 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
Python中static相关知识小结
Jan 02 Python
Python3.5装饰器典型案例分析
Apr 30 Python
Python调用C语言的实现
Jul 26 Python
Python使用matplotlib绘制Logistic曲线操作示例
Nov 28 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
python 实现分组求和与分组累加求和代码
May 18 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
python将图片转为矢量图的方法步骤
Mar 30 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
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
Jquery 表格合并的问题分享
2011/09/17 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
举例讲解Python中的算数运算符的用法
2015/05/13 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python学生信息管理系统实现代码
2019/12/17 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
南京软件公司的.net程序员笔试题
2014/08/31 面试题
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
就业自荐信
2013/12/04 职场文书
大学生见习报告总结
2014/11/04 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
人民调解协议书
2016/03/21 职场文书
Python学习之os包使用教程详解
2022/03/21 Python
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL