时间序列统计总结:
1.时间序列可以简单通过以时间窗口为key的聚合,比如10秒为一个时间窗口,那10秒发生的所有事件都聚合为一个。
2.以某个维度做聚合,维度信息可以记录下来。比如以时间+ip为维度进行聚合,ip是可以存储的。
3.聚合的数量级等于维度之间的笛卡儿积,比如Metric.of(array("+aa", chainId, clientApp), hour, array(rpcTypeStr, serverApp));的数量级=N种chainId*N种clientApp*N种rpcTypeStr*N种serverApp。所以要避免对离散的数据做聚合,比如如果对ip做聚合将会是一个庞大的数字。
4.如果一个维度只聚合不需要按照条件进行查询,可以不新建维度。举个例子,pv和http_code,之前的方案是新增http_code这种维度:
|H- 200|12:00|[{60:[5]},{120:[5]}]|
|H- 301|12:00|[{60:[5]},{120:[5]}]|
|H- 500|12:00|[{60:[5]},{120:[5]}]|
另外一种更简单的实现:
|P|12:00|[{60:[10,3,4,3]},{120:[10,3,4,3]}]|,通过values为每种维度分别统计count数,可以看到这种实现更简单,存储数据量更少。
1. PV
时间序列:
|P|12:00|[{10:[5]},{20:[5]}]|
|P|13:00|[{10:[5]},{20:[5]}]|
总量:时间范围内的sum(count)
查询:query= 'P',filter= date:[1389776400 TO 1389776400], order by date
1)PV-PAGE+IS_APP (对于同一个时间维度[12:00],有多少种维度就有多少行数据)
|P-DETAIL APP|12:00|[{10:[5]},{20:[5]}]|
|P-DETAIL SITE |12:00|[{10:[5]},{20:[5]}]|
查询detail-APP:query='P-DETAIL AND APP',filter= date:[1389776400 TO 1389776400], order by date
查询detail-SITE:query='P-DETAIL AND SITE',filter= date:[1389776400 TO 1389776400], order by date
查询detail-ALL:query='P-DETAIL',filter= date:[1389776400 TO 1389776400], order by date
2)PV-CODE(查询出来之后分析每种CODE占比)
|H- 200|12:00|[{10:[5]},{20:[5]}]|
|H- 301|12:00|[{10:[5]},{20:[5]}]|
|H- 500|12:00|[{10:[5]},{20:[5]}]|
查询200:query='H- AND 200',filter= date:[1389776400 TO 1389776400], order by date
查询500:query='H- AND 500',filter= date:[1389776400 TO 1389776400], order by date
3)PV-anonymous(匿名/非匿名)
|P-A|12:00|[{10:[5]},{20:[5]}]|
|P-UA|12:00|[{10:[5]},{20:[5]}]|
|P-A|13:00|[{10:[5]},{20:[5]}]|
|P-UA|13:00|[{10:[5]},{20:[5]}]|
3)PV-APP(SITE/APP)
|P-APP|12:00|[{10:[5]},{20:[5]}]|
|P-SITE|12:00|[{10:[5]},{20:[5]}]|
|P-APP|13:00|[{10:[5]},{20:[5]}]|
|P-SITE|13:00|[{10:[5]},{20:[5]}]|
5)PV(IP-->PAGE)(IP数据量很大导致维度很大(IP*PAGE种维度),解决方案: 可以过滤build,不是所有PAGE都有必要,关键PAGE:site,login,add。转换为SQL可以理解为where page=? group by ip)
|P-IP1-login|12:00|[{10:[5]},{20:[5]}]|
|P-IP2-login|12:00|[{10:[5]},{20:[5]}]|
6) PV-BACKEND
|P-S1|12:00|[{10:[5]},{20:[5]}]|
|P-S2|12:00|[{10:[5]},{20:[5]}]|
|P-S3|12:00|[{10:[5]},{20:[5]}]|
补充:
1.网站/移动登录数统计(P+LOGIN+IS_APP)
2.网站/移动注册数统计(P+REG+IS_APP)
3.网站/发图统计(P+BLOG_ADD+IS_APP)
4.网站/发专辑统计(P+ALBUM_ADD+IS_APP)
|P-LOGIN-SITE|12:00|[{10:[5]},{20:[5]}]|
|P-LOGIN-APP |12:00|[{10:[5]},{20:[5]}]|
发图IP地址聚合(1小时)
|U-BLOG_ADD-APP-IP|12:00|
1. IP数,只是aggregation算法不同
时间序列:
|U|12:00|[{10:[5]},{20:[5]}]|
|U|13:00|[{10:[5]},{20:[5]}]|
总量:
时间范围内的sum(count)
维度汇总
0. 首页
1. 业务page(例:网站,移动,login,reg的曲线)
2. backend(例:s1,s8的曲线)
3. httpcode(例:200,500的曲线)
4. 匿名(例:匿名/非匿名的曲线)
数据模型
|time|metric|[{10:[count,timeSpan,appCount,loginCount]}]|
|10:00|g|[10:[400,150,100,10]]|
|10:00|p 200|[10:[200,150,100,10]]|
|10:00|p 500|[10:[200,150,100,10]]|
实现总结:
identifie-metric1,metric2,metricN timestamp value
首页:g (pv,uv,ip)
业务:b
backend:s
httpcode: h
匿名: a
例子:
b-login s1 404 app
b-login s1 200 site
b-login s2 200 site
b-login s3 500 app
相关推荐
/u/4579171/blog/4551295 Pandas学习笔记之时间序列总结 目的:熟悉时间序列数据的处理方法和时间序列的使用,并用可视化展示出来。 我们来看一下西雅图费利蒙桥的自行车数量统计。该数据集来源自一个自动自行车的...
第3~12章介绍SPSS 23的各种统计方法,包括描述性统计分析、均值比较与T检验、非参数检验、方差分析、相关分析、回归分析、聚类和判别分析、主成分分析和因子分析、时间序列分析、信度分析;第13章介绍图表的创建与...
最后简要总结seaborn制作可视化图表的几个要点: 绝大多数绘图接口名字均为XXXXplot形式 绘图数据对象主要区分连续型的数值变量和离散型的分类数据 绘图接口中的传参类型以pandas.dataframe为主,当提供了dataframe...
平稳的时间序列满足序列的分布特征不随时间的变化而变化,宽 平稳时间序列具体要求:有常数均值、常数方差、任何两点间的协方差只与两点间的间 隔有关。 第八章介绍了Bayes统计分析,贝叶斯统计中的两个基本概念是...
这里面最主要是花大量心力整理的109个STATA基础知识,按“ctrl+F”可以调出来目录,共有109个知识点,都可以找到自己的所需,主要包括STATA基础知识,数据处理,描述性统计分析,时间序列,面板数据,格兰杰,方差...
MATLAB 经典程序源代码大全 本资源经过数模之后总结的一些经典代码。其中函括 1、中国大学生数学建模竞赛题解 2、演示程序 3、微积分和微分方程 4、图形 ...10、时间序列分析以及递推关系的作图分析等
数理统计笔记,总结了数理统计:数据图表展示、数据的概括性度量、统计量及其抽样分布、参数估计、假设检验、分类数据分析、方差分析、一元、多元线性回归、时间序列分析与预测、指数
首先介绍了R的工具包、时间序列包和性能监控包,然后阐述R语言与其他编程语言的通信以及R语言作为服务器的应用,最后阐释R语言与各种数据库的通信以及R语言与Hadoop集成。附录介绍了Java、Hadoop以及各种数据库对...
一、数据查看 二、数据预处理 三、描述统计与基础可视化 四、推断统计 五、回归分析 六、判别分析 ...十、时间序列分析 十一、关联规则 十二、决策树 十三、贝叶斯 十四、支持向量机 十五、神经网络
《R的极客理想·工具篇》首先介绍了R的工具包、时间序列包和性能监控包,然后阐述R语言与其他编程语言的通信以及R语言作为服务器的应用,最后阐释R语言与各种数据库的通信以及R语言与Hadoop集成。附录介绍了Java、...
EViews是一款强大的时间序列分析软件,它不仅支持单变量的分析,还能进行多元线性回归分析。在本教程中,我们将详细介绍如何使用EViews进行多元线性回归分析,从数据的导入到结果的解释,一步步地展示整个过程。 ...
目前主要参考李航老师的《统计学习方法》一书,也有一些内容例如XGBoost、聚类、深度学习相关内容、NLP相关内容等是书中未提及的。 由于github的markdown解析器不支持latex,因此笔记部分需要在本地使用Typora才能...
SPSS从入门到精通,主要是通过统计描述、统计推断和探索性分析,总结并提炼工作汇中经常用到并且非常实用的通过SPSS进行数据处理,数据分析实战...8)时间序列分析 9)RFM分析 10)聚类分析 11)因子分析 12)对应分析
本书首先介绍了R的工具包、时间序列包和性能监控包,然后阐述R语言与其他编程语言的通信以及R语言作为服务器的应用,最后阐释R语言与各种数据库的通信以及R语言与Hadoop集成。附录介绍了Java、Hadoop以及各种数据库...
摘要背景简介新冠肺炎疫情对全球经济贸易的冲击 .数据集简介 .探索性分析描述统计.数据可视化 .时间序列折线图 .日历图 .条形图 .箱线图 .总结及对策总结
时序模式 时序模式是指通过时间序列搜索出的重复发⽣概率较⾼的模式。与回归⼀样,它也是⽤⼰知的数据预测未来的值,但这些数据的区别是变量 所处时间的不同。 偏差分析 在偏差中包括很多有⽤的知识,数据库中的...
这里面是花大量心力整理的109个STATA基础知识,按“ctrl+F”可以调出来目录,共有109个知识点,都可以找到自己的所需,主要包括STATA基础知识,数据处理,描述性统计分析,时间序列,面板数据,格兰杰,方差分析,异...
本书首先介绍了R的工具包、时间序列包和性能监控包;然后阐述R语言与其他编程语言的通信,以及R语言作为服务器的应用;最后阐释R语言与各种数据库的通信以及R语言如何与Hadoop集成。附录介绍了Java、各种数据库以及...
本书首先介绍了R的工具包、时间序列包和性能监控包;然后阐述R语言与其他编程语言的通信,以及R语言作为服务器的应用;最后阐释R语言与各种数据库的通信以及R语言如何与Hadoop集成。附录介绍了Java、各种数据库以及...
注1:这是传统线性面板回归的方法和步骤,不适用于时间序列回 归以及空间面板回归!!注意购买! 注2:由于是第一次整理销售,因此在使用说明方面 可能存在不周到的地方,若存在疑问者,可私信联系方式,我找您解答...