时序数据的可视化实践

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介:

什么是时序数据?

时序数据也就是我们平时经常说到的时间序列数据。时间序列数据是统一指标按时间顺序记录的数据列。数据分析的目的一般是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测。时序数据在数据分析中也是非常常见的。当然有了可靠的时序数据,可视化是不可少的。

场景分析

现在我们想要通过访问量趋势的时序数据来做一个可视化的分析。需要解决的问题主要有以下几个:
1.通过访问趋势,针对一些突变的数据做一些异常点的标注
2.访问趋势预测
3.访问量包含PV和UV,两者数据量差距较大,如何更好的展示
4.时序数据可能中间会有缺失

进行时序数据的可视化之前,我们首先需要了解“时间”所具有的特征:
1.有序性:时间都是有序的,事件之间有先后顺序。
2.周期性:许多自然或商业现象都具有循环规律,如季节等周期性的循环。
3.结构性:时间的尺度可以按照年、季度、月、日、小时、分钟、秒等去切割。

日志服务提供一站式的数据采集可视化分析能力,下面我们来看看怎么基于日志服务提供的可视化功能做时序数据的分析。

前提条件

成功开通并接入日志服务,这里以nginx访问日志为例
undefined

查询分析

日志服务提供大规模日志实时查询与分析能力。我们先通过输入SQL,将实时的时序数据查询出来。我们以小时作为粒度,查询相对4小时

* | select date_format(from_unixtime(__time__ - __time__% 3600), '%Y-%m-%d %H:%i:%S') as hour, count(1) as pv group by hour order by hour asc limit 100

undefined

可视化分析

可以看到我们的时间格式为:%Y-%m-%d %H:%M:%S(含义参考:时间函数
这里只查询了最近4个小时,年月日的显示就略显多余了,但是我们需要分析周趋势和月趋势,所以查询的结果里的年月日就需要保留。理想的显示状态是,查询区间为1天内,显示小时分钟秒级别,查询区间超过1天,显示完整的时间。

时间序列

1.首先选择“线图”,然后点击属性配置,我们能看到详细的配置
undefined
2.在下面找到“时间序列”,选中我们当前数据列中为时间的字段,右侧可以看到解析出来的时间格式(注意:这里的时间列数据必须是完整的时间,即可以转换成时间戳的数据)。
undefined
3.我们扩大查询时间范围,选择相对时间”一周“,这里看到X轴的时间格式也会跟着发生变化
undefined
4.选择”添加仪表盘“,将我们的图表保存下来。再进入我们创建好的仪表盘,就能看到我们创建好的图表了。
5.undefined

异常点

对于一些数据的突变,想要通过更明显的方式标注出来,我们这里可以使用异常点标注的功能
1.在仪表盘右上角点击”编辑“,进入编辑模式。
2.然后在图表的右上角选择”编辑“,编辑当前图表的属性配置
3.首先,选择”异常点所在维度“,这里直接选择”pv“列。然后输入”异常点下界“或”异常点上界“的实际值。这里在异常点上界输入150000
undefined

访问趋势预测

预测在时序数据分析场景中非常重要,我们这里通过简单的配置就能实现时序数据的预测。
1.同样,还是编辑图表,找到属性配置“机器学习”,开启后并点击“确认”进行保存
undefined
2.在图表右上角可以找到“机器学习”的图标,选中左键点击,出现机器学习分析的窗口
undefined
3.选择“数据所在列“为pv,点击开始分析,可以看到我们异常检测的结果,蓝线为实际曲线,红色为预测曲线,绿色区域为预测区间
undefined
4.同样,我们还可以进行时序预测,分析类型选择”时序预测“,点击开始分析。其中蓝色曲线为实际值,红色曲线为预测值
undefined

多个数值列

如果存在多维度的数值列,我们这里新增一列UV的趋势,看一下效果
undefined
由于UV的数值明显比PV的数值低,这样几乎看不清UV的趋势是什么样子,当然我们也可以通过点击图例来调整UV的显示。不过这样人工操作体验会较差。这里的线图配置,提供了两个Y轴维度:左Y轴和右Y轴。我们选择”右Y轴“为UV。为了更好区分,在”为柱列“里选择UV(”为柱列“即显示柱状的数据列)。
undefined
现在我们就可以一眼看出PV趋势和UV趋势的对比图了

时序数据补点

在很多特殊场景下,时序数据并不是一个连续的数据。可能由于各种原因,导致中间有些数据丢失,在可视化显示的时候,如果不去显示这些丢失的数据,用户通过可视化图表很难去发现这些数据丢失了。如果进行补点的话,这个数值的大小定义就成了一个问题。这里我们就可以用到线图的”补点“功能来解决这个问题。
1.同样还是选择编辑刚刚配置好的图表,在属性配置中找到”自动补点“
undefined
2.这里有四个选项可以选择:零值,平均值,最大值,最小值。如果想要标注这些缺失点,建议选择零值。如果只想要看时序数据整体趋势建议选择平均值。当然视具体情况而定。

写在最后

这里关于时序数据的可视化实践,是日志服务可视化中很小一部分功能。目前日志服务支持的可视化组件类型有30+,覆盖了绝大部分数据可视化场景。日志服务可视化目前经历了大量场景的锤炼,在集团内部得到了广泛使用。如果您有更好的想法或者建议,欢迎加入钉钉群进行讨论。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
消息中间件 Cloud Native 物联网
深度剖析 RocketMQ 5.0,事件驱动:云时代的事件驱动有啥不同?
本文技术理念的层面了解一下事件驱动的概念。RocketMQ 5.0 在面向云时代的事件驱动架构新推出的子产品 EventBridge,最后再结合几个具体的案例帮助大家了解云时代的事件驱动方案。
79673 6
|
1月前
|
存储 数据采集 人工智能
先建“语义基座”,再谈运维智能!阿里云以 Operation Intelligence 定义 AIOps 新范式
通用大模型的到来与数据整合技术的突破,正在重塑 AIOps 的底层逻辑。
577 27
|
供应链 算法 量子技术
量子跃迁:量子计算在物流优化中的革命性应用
量子跃迁:量子计算在物流优化中的革命性应用
773 22
|
机器学习/深度学习 人工智能 并行计算
一文了解火爆的DeepSeek R1 | AIGC
DeepSeek R1是由DeepSeek公司推出的一款基于强化学习的开源推理模型,无需依赖监督微调或人工标注数据。它在数学、代码和自然语言推理任务上表现出色,具备低成本、高效率和多语言支持等优势,广泛应用于教育辅导、金融分析等领域。DeepSeek R1通过长链推理、多语言支持和高效部署等功能,显著提升了复杂任务的推理准确性,并且其创新的群体相对策略优化(GRPO)算法进一步提高了训练效率和稳定性。此外,DeepSeek R1的成本低至OpenAI同类产品的3%左右,为用户提供了更高的性价比。
3315 11
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
432 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
NoSQL Redis
Redis AOF重写问题之减少CPU和fork开销如何解决
Redis AOF重写问题之减少CPU和fork开销如何解决
280 1
|
机器学习/深度学习 人工智能 数据可视化
大数据时代的数据可视化技术:趋势、挑战与未来展望
【7月更文挑战第22天】随着技术的不断进步和应用场景的不断拓展,数据可视化技术将在更多领域发挥更大的作用。未来,我们可以期待更加智能化、实时化、沉浸式和民主化的数据可视化解决方案的出现。同时,随着数据量的不断增加和数据类型的不断丰富,数据可视化技术也将面临更多的挑战和机遇。只有不断创新和优化技术才能满足日益增长的需求并推动数据可视化技术的持续发展。
2048 3
|
存储 JSON Go
一文搞懂 Golang 高性能日志库 Zerolog
一文搞懂 Golang 高性能日志库 Zerolog
1486 0
|
存储 数据采集 监控
从存储统一到数据融合,SLS在可观测场景的思考和行动
介绍SLS在可观测数据融合分析的一系列技术升级,融合Trace、全栈监控、Continuous Profiling、移动端监控等功能,帮助大家更快速地构筑全栈、自动化的观测能力。
128938 52