网站流量日志分析--统计分析--新老访客需求剖析|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析--统计分析--新老访客需求剖析

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第四阶段) 网站流量日志分析--统计分析--新老访客需求剖析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/696/detail/12239


网站流量日志分析--统计分析--新老访客需求剖析


需求:将每天的新访客统计出来。

实现思路:创建一个去重访客累积表,然后将每日访客对比累积表。

1、每天新老访客的统计新访客老访客从业务上很好理解只要来过一次再来都是老访客如果一次没有过就是新访客从业务上梳理该如何通过每天集的数据进行比较判断识别出当天是新访客还是老访客

2、为了更好理解进行画图比如每天都会收集采集到当天的数据网站的标识收到今天的网站访问数据

image.png

3、根据今天的网站访问数据能够得到在数据有访客的识别以 ip 表示因此可以根据当天收集到的访问数据得到当天的访客有哪些所以第一步去重统计 ip来了一次来了多次只算一去重ip统计得到今天的访客比如今天有 ip1,有ip2,ip4,ip5,ip6 等。

image.png

4、五个访客判断哪些是新访客哪些是老访客需要有判断比较的依据所以应该设计一个表用来保存历史上是否有来是否有访问过比如记录只要历史上过一次都会在这里记录进行判断因此为业务的持久进行至少还需要历史累计访因为是不断累加的过程

image.png

5、比如表有一种特殊的情况今天是公司开业的第一天今天来的所有的人都是新访客有 ip1,ip3,ip5,ip7。

image.png

6、两份数据进行判断比较口述很简单在历史访如果今天访存在就是老访客,明他如果不存在就是新访客,问题在于口头描述都比较好理解如何转化成 sql 呢今天和历史就是两个表两个表之间进行数据的操作应该会涉及表之间 join表之间的关联关联 join 涉及到内外左右以今天的数据为准所以在左边join 在 sql 层面是 left join

image.png

left join on 的表达式能进行关联的条件就是 ip今天的 ip 等于历史的 ip

image.png

关联以左表为准左边的数据全部显示出来右边与之关联关联上的显示关联不上的显示为 nullip1 显示为 ip1,ip2 没有显示为 nullip4 也没有显示为 nullip5 显示为 ip5,ip6 没有显示为 null有了结果之后左边是今天 ip右边是历史 ip

image.png

写 where 条件如果:where 历史. ip is null 没有关联上关联上证明在历史表中没有所以是新访客where 历史. ip is not null 关联上证明在历史表中有所以是老访客需求转化为 sql 就是两个ip是否能关联上今天的新访客永远是明天的老访客今天来过之后不管什么时候再来都是老访客因此最后需要把今天的新访客追加到历史累积访客表中作为后续的新老访客判断识别的依据这样更贴近于实战把业务变得更加完整

image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
628 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
6月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
4月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
386 0
|
4月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
8月前
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
8月前
|
JSON 中间件 数据格式
Gin框架学习笔记(六)——gin中的日志使用
Gin框架学习笔记(六)——gin中的日志使用
362 0
|
9月前
|
安全 Linux 调度
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
53 1
|
9月前
|
存储 弹性计算 监控
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
本文就通过一个客户的实际案例开介绍如何使用在无法直接开启CEN flowlog的情况下,使用SLS的数据加工能力,从VPC flowlog的数据中过滤出客户需要的流量日志出来。
185 0
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
944 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
2月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。