用于cube的python客户端:时间序列数据收集与分析

cube-client的Python项目详细描述


用于Cube: Time Series Data Collection & Analysis的python客户端。

https://pypip.in/v/cube-client/badge.pnghttps://pypip.in/d/cube-client/badge.png

功能

您可以向多维数据集发送(Collector)和请求(Evaluator)数据。

  • 发布事件
  • 请求事件
  • 请求度量
  • 请求已知事件类型

概述

>>>fromcubeimportCube,ONE_HOUR>>>c=Cube()>>>>>>c.put('sample_data',{'myval':10})[{'data':{'myval':10},'type':'sample_data','time':'2012-10-01T13:04:04.453929'}]>>>c.event('sample_data')[{u'time':u'2012-10-01T13:04:04.453Z'}]>>>c.put('sample_data',{'myval':20})[{'data':{'myval':20},'type':'sample_data','time':'2012-10-01T13:04:39.725676'}]>>>c.event('sample_data')[{u'time':u'2012-10-01T13:04:04.453Z'},{u'time':u'2012-10-01T13:04:39.725Z'}]>>>c.event('sample_data(myval)')[{u'data':{u'myval':10},u'time':u'2012-10-01T13:04:04.453Z'},{u'data':{u'myval':20},u'time':u'2012-10-01T13:04:39.725Z'}]>>>c.metric('sum(sample_data)',step=ONE_HOUR,start='2012-10-01')[{u'value':0,u'time':u'2012-10-01T00:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T01:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T02:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T03:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T04:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T05:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T06:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T07:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T08:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T09:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T10:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T11:00:00.000Z'},{u'value':0,u'time':u'2012-10-01T12:00:00.000Z'},{u'value':2,u'time':u'2012-10-01T13:00:00.000Z'}]

要求

安装

$ pip install cube-client

用法

fromcubeimportCube,ONE_HOURfromdatetimeimportdatetimecube=Cube()# orcube=Cube('localhost')# Create an eventcube.put("myevent",{'temp':30})# orcube.put("myevent",{'temp':30},time=datetime.now().isoformat())# Low level queries# =================# Request events data# See Cube queries:# https://github.com/square/cube/wiki/Queries#wiki-metriccube.event('myevent(temp)')# Request metricscube.metric('sum(myevent(temp))',step='36e5',start='2013-9-01'))# orcube.metric('sum(myevent(temp))',step=ONE_HOUR,start=datetime(2013,9,1))# Request known event typescube.types()# High level queries# ==================fromcube.expressionsimportEventExpression,Sumtemp=EventExpression('myevent','temp')cube.metric(Sum(temp),step=ONE_HOUR,start='2013-10-1')

事件助手

fromcubeimportCube,Event,Sumcube=Cube()my_event=cube.get_event('myevent')# ormy_event=Event(cube,'myevent')my_event.put({'temp':10})my_event.put({'temp':20})my_event.event()# [{u'time': u'2012-10-01T13:04:04.453Z'}, {u'time': u'2012-10-01T13:04:39.725Z'}]my_event.event('myevent(temp)')temp=my_event.expression('temp').gt('temp',15)# => myevent(temp).gt(temp, 15)my_event.metric(Sum(temp))# => my_event.metric('sum(myevent(temp).gt(temp, 15))')

公制分辨率快捷方式

  • 10秒对于1e4-10秒
  • 1分钟对于6e4-1分钟
  • 5分钟对于3e5-5分钟
  • 1小时对于36e5-1小时
  • 1日对于864e5-1日
fromcubeimportONE_HOUR,FIVE_MINUTE

时间单位

fromcubeimportONE_HOURfromcube.time_utilsimporttimeagoc.metric('sum(myevent(key))',step=ONE_HOUR,start=timeago('6h'))

更改日志

0.2.0

尚未发布

  • 清除代码(PEP8)
  • 与请求2.0兼容
  • 添加了度量分辨率快捷方式
  • 添加事件助手
  • 合并了pypercubetime_utilsEventExpressionFilter的某些部分。

许可证(MIT)

版权所有(c)2013 Thomas Sileo和Steven Buss

特此免费授予获得本软件副本和相关文档文件(以下简称“软件”)的任何人使用本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,并在符合以下条件的情况下,允许向其提供软件的人员这样做:

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

<软件>提供“原样”,无任何担保,明示或默示,包括但不限于适销性、适合特定用途和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaGWT:何时使用Lazydemelement?   Java中跟踪消失线程的多线程处理   java Springboot未能配置数据源:“url”,但我没有使用数据库   java为按钮生成随机位置   math Java:包含二项式系数计算的表达式   java通过AsyncTask传递参数   从路径错误创建java文件   高流量网站的性能播放框架、Java、Apache、PostgreSQL、JPA和Hibernate   java将4D矢量转换为长矢量   arraylist Java循环在没有任何错误的情况下终止   java正在制作一个计算器应用程序,希望在第二个片段中更新历史,但无法完成   java将信息从IntentService发送到Activity   java如何在游戏中插入大量实体!工作   javascript如何在ScriptEngineforJava中从数学中获得准确的结果?