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 with statement 进行文件操作指南
Aug 22 Python
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
python操作列表的函数使用代码详解
Dec 28 Python
python使用xslt提取网页数据的方法
Feb 23 Python
python实现电脑自动关机
Jun 20 Python
Python3中的bytes和str类型详解
May 02 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
pyspark 随机森林的实现
Apr 24 Python
如何在python中执行另一个py文件
Apr 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 各种应用乱码问题的解决方法
2010/05/09 PHP
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
php获取域名的google收录示例
2014/03/24 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
brook javascript框架介绍
2011/10/10 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
Python可跨平台实现获取按键的方法
2015/03/05 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
一份婚庆公司创业计划书
2014/01/11 职场文书
遗嘱继承公证书
2014/04/09 职场文书
一年级小学生评语
2014/04/22 职场文书
金融事务专业求职信
2014/04/25 职场文书
经典团队口号大全
2014/06/21 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
解放思想演讲稿
2014/09/11 职场文书
五年级上册复习计划
2015/01/19 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
Python列表的索引与切片
2022/04/07 Python
MySQL视图概念以及相关应用
2022/04/19 MySQL