zl程序教程

您现在的位置是:首页 >  工具

当前栏目

数据洞察(2):描述性数据分析在日志场景的落地

日志数据数据分析 场景 落地 洞察
2023-09-27 14:25:57 时间
随着互联网的极速发展,海量用户产生的海量日志,每天都在急剧膨胀。数据仓库就像一个个油井一样,我们都知道这里边有矿,但是怎么从矿里边挖出有价值的信息,一直是困扰矿主的最大问题。如果缺乏强大的分析工具,或者数据分析能力,积累再多的数据的数仓,都会变成数据坟墓:花了大力气采集过来数据,然后打包放到冷存仓库里边,一直没有任何访问,直到一天磁盘空间满了,把最老的数据清理掉。我们的决策,往往是依赖于个人的经验和直觉,而不是基于数据所呈现给我们的信息。而要从数据中挖掘出有用的信息辅助我们做决策,一方面需要强大的数据分析工具,一方面需要专业的数据分析经验。

随着互联网的极速发展,海量用户产生的海量日志,每天都在急剧膨胀。数据仓库就像一个个油井一样,我们都知道这里边有矿,但是怎么从矿里边挖出有价值的信息,一直是困扰矿主的最大问题。如果缺乏强大的分析工具,或者数据分析能力,积累再多的数据的数仓,都会变成数据坟墓:花了大力气采集过来数据,然后打包放到冷存仓库里边,一直没有任何访问,直到一天磁盘空间满了,把最老的数据清理掉。我们的决策,往往是依赖于个人的经验和直觉,而不是基于数据所呈现给我们的信息。而要从数据中挖掘出有用的信息辅助我们做决策,一方面需要强大的数据分析工具,一方面需要专业的数据分析经验。
阿里云日志服务从各种孤岛系统中采集日志,统一到云上存储,让数据所见所得。也提供了SQL这种通用的、强大的数据分析能力,让用户可以在秒级别内、在百亿数据中分析数据。数据洞察系列文章,介绍一系列数据分析经验给我们的客户,帮助我们的客户最大化数据的价值。
在数据分析中,有6大类统计分析:

描述性统计分析:告诉我们发生了什么事情推断统计分析:通过小数据集合推断大数据集合发生了什么事情预测统计分析:告诉我们未来会发生什么事情指导性分析:告诉我们接下来怎么做探索式数据分析:给我们一个数据的初步印象,告诉我们一些关键的发现因果分析:告诉我们为什么会发生某件事情

今天我们介绍描述性数据分析的方法,帮助我们的获得对一份数据的大致印象。当我们有了一份数据,还没有明确的分析目的的时候,我们不妨先用描述性分析,先看看数据能给我们提供什么信息。

描述性数据分析的类别1. 描述数据的频率

了解事件发生的频率至关重要,方法包括发生的次数或者百分比。在日志领域,我们甚至可以查看事件在时间维度的频率波动情况,例如查看每分钟PV的变化

* | select date_trunc(minute,__time__) as t, count(1) as pv group by t order by t limit all
2. 测量数据集中趋势

集中趋势告诉我们,数据的中心点在什么位置,一般使用三个平均值来衡量:均值、中位数、众数。就像我们看一个几何图形,会找他的几何中心或者重心在哪里,知道了大致重心,就知道了大量数据是围绕着中心转的。
SQL中计算均值和中位数的方法:

* | select avg(key), approx_percentile(key,0.5)

计算众数的方法:

* | select key,count(1) as pv group by key order by pv desc limit 1
3. 计算离散度

当我们知道数据的中心在哪里之后,我们还需要知道,其他数据是怎么围绕中心分布的,即距离中心的程度,是非常发散,还是非常聚集。评估离散度的指标有:方差(标准差)、变异系数、绝对中位数差。
标准差用于评估每个数字距离均值的距离。但是标准差是个绝对值,我们很难判断某个标准差到底是高还是低,所以我们需要一个比例变异系数,更加直观的判断。变异系数就是用标准差除以均值。 绝对中位数差,是指每个数字距离中位数的距离,类似于标准差,因此也需要一个系数来判断,可以用绝对中位数差除以中位数。
用SQL可以实现如下:

*|select stddev(key) # 标准差

*|select stddev(key)/avg(key) # 变异系数

*|select sum(diff)/count(1) as mad from (select abs(key - approx_percentile(key,0.5) over()) as diff from log ) # 计算绝对中位数差

*|select sum(abs(key-p50))/count(1)/p50 from(select key , approx_percentile(key,0.5) over() as p50 from log ) # 绝对中位数差系数
4. 评估位置

均值和中位数是总体的估计量,当我们要评估单个数字的位置的时候,最好的办法是使用分位数或者四分位数来评估。
分位数和四分位数的计算方法:

* | select approx_percentile(key,0.1) as p10, approx_percentile(key,0.9)as p90 
5. 评估多列的关系

上述指标用于评估单列数字的概况。如果是2个以上变量的分析,我们更多关注两个变量之间的关系。在SQL上,我们可以计算两列的相关系数。而使用可视化手段,我们可以采取散点图或者交叉表。

* | select corr(key1, key2) # 计算相关系数
总结

本文介绍了针对数据做描述性统计分析的方法。本系列会陆续推进更多分析日志的方法。
数据洞察(2):描述性数据分析在日志场景的落地.md.


云原生日志数据分析上手指南 云原生日志数据分析上手指南 本指南主要涉及阿里云云产品: 日志服务(SLS, https://www.aliyun.com/product/sls) 对象存储服务(OSS, https://www.aliyun.com/product/oss) Data Lake Analytics(DLA, https://www.aliyun.com/product/datalakeanalytics) 上述三款云产品均属于Serverless化的云原生服务型产品,无维护成本、高可用,简单配置即可在云上搭建起企业级的日志数据分析链路和应用。
阿里云MVP Meetup 《云数据·大计算:海量日志数据分析与应用》之《数据应用:数据服务》篇 本文主要阐述在使用DataWorks(数据工场)的过程中如何使用数据服务模块,快速将已生成的数据给用起来。此功能可用于快速将数仓中的结果表生成API,通过API给下游应用使用,或者通过API服务完成数据共享等。
阿里云MVP Meetup 《云数据·大计算:海量日志数据分析与应用》之《数据质量监控》篇 本手册为阿里云MVP Meetup Workshop《云计算·大数据:海量日志数据分析与应用》的《数据质量监控》篇而准备。主要阐述在使用大数据开发套件过程中如何将已经采集至MaxCompute上的日志数据质量进行监控,学员可以根据本实验手册,去学习如何创建表的监控规则,如何去订阅表等。
【转载】大数据workshop:《云数据·大计算:海量日志数据分析与应用》 本手册为云栖大会Workshop之《云计算·大数据:海量日志数据分析与应用》场的前提准备条件所需。主要为保障各位学员在workshop当天能够顺畅进行动手实操,那么本场需要各位学员再参加之前确保自己云账号已免费开通MaxCompute、Data IDE和Quick BI。
【转载】阿里云MVP Meetup:《云数据·大计算:海量日志数据分析与应用》之《数据加工:用户画像》篇 本手册为阿里云MVP《云计算·大数据:海量日志数据分析与应用》的《数据加工:用户画像》篇而准备。主要阐述在使用大数据开发套件过程中如何将已经采集至MaxCompute上的日志数据进行加工并进行用户画像,学员可以根据本实验手册,去学习如何创建SQL任务、如何处理原始日志数据。
【转载】阿里云MVP Meetup 《云数据·大计算:海量日志数据分析与应用》之《数据采集:日志数据上传》篇 本手册为阿里云MVP Meetup Workshop《云计算·大数据:海量日志数据分析与应用》的《数据采集:日志数据上传》篇而准备。主要为保障各位学员在workshop当天能够顺畅进行动手实操,那么本节为学员掌握阿里云数据采集的操作和使用。
阿里云MVP Meetup:《云数据·大计算:海量日志数据分析与应用》之《数据分析展现:可视化报表及嵌入应用》篇 本手册为杭州阿里云MVP Workshop《云计算·大数据:海量日志数据分析与应用》的《数据分析展现:可视化报表及嵌入应用》篇而准备。主要阐述如何使用BDP个人版制作报表,将前面几个实验处理分析得来的数据进行有效的展现和洞察。
阿里云存储服务 194003 阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。