网站流量日志分析--数据预处理--点击流模型之 visit 模型| 学习笔记

简介: 快速学习网站流量日志分析--数据预处理--点击流模型之 visit 模型

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第二阶段)网站流量日志分析--数据预处理--点击流模型之 visit 模型】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/694/detail/12192


网站流量日志分析--数据预处理--点击流模型之 visit 模型

visit 模型专注于每次会话 session 内起始、结束的访问情况信息。起始和结束指的是,在一个会话内用户可能访问一步,可能访问多步,无论用户访问几步,我们只关注于他起始结束的情况。例如说什么时间进来,什么页面进来的,什么时间走的,什么页面走的。那么这样的指标都是起始和结束的情况。那么接下来看一下该如何去生成点击流模型 visit

首先这个就产生了第一个问题,visit模型该用什么数据生成呢?

众做周知,用我们的原始数据也可以一步步生成,但是当中我们发现,他要想识别每个会话内的起始结束情况,首先需要去识别每个会话,针对会话的识别,在pageviews模型中做了相关的梳理,更加方便的是通过pageviews模型直接找到会话,提取第一步和最后一步,就可以解决。

打开画图板把讲义上侧重点粘贴复制出来。将visit模型专注于每次会话 session 内起始、结束的访问情况信息复制到画板上。选择蓝色线框,圈选出起始和结束的信息。因起始和会话相关,此时,我们更加方便通过 pageviews 模型生成 visit 模型。此时我们已经生成了 pageviews 模型,为了更加方便,我们把 pageviews 模型做一个具体的描述,除了有会话1外,还有会话2

将会话2中的数据粘贴复制到pageviews模型中的会话1中,把session2也粘贴在pageviews模型中session1的下方。页面、时间、步骤和停留时间的复制步骤也是如上述相同。此时我们把生成的 pageviews模型粘贴复制到旁边的位置。

此时,我们就可以分析如何用 pageviews 模型生成visit模型,在 pageviews 中有很多种用户的不同会话,此时我们关注的不再是用户,因为用户的会话我们已经通过pageviews模型识别出,此时我们关注的是visit模型中会话的起始和结束。此时,第一步需要我们做的是找出属于同一个会话的所有记录。

我们在空白处创建一个空白框,在里面边上写上1.找出属于同一个会话session的所有访问记录。属于同一个会话肯定是同一个用户。在图中,有多个用户的会话,再在下边写上:在mr编程中,以session作为key,相同的key就会按照mr的属性分到同一组当中进行相关的处理即可。pageviews模型的图会分为两种,一种是会话1,另一种是会话2。我们需要找出同一组会话中的起始结束情况,当中我们可排序,也可不排序。

直接根据步骤号找第一步和提后一步,接下来第2步,叫做在同一个会话记录内,找出第一步操作和最后一步操作。接下来,为了方便,我们把visit模型的几个指标填写下来。我们需要填写 sessionIDipintimeouttimeinpagetotalpage

我们把上述表中的 session1对应的数据填写上去,其中,若我们把最后 session1的时间粘贴复制下来,明显不符合逻辑,因为这个时间表示的是我们进去最后一步的时间,那么,计算他离开页面的时间,需要我们用进去最后一步的时间,加上在最后页面上停留的时间,此时就是他离开页面的时间,那么我们就可以通过数据处理出来了。离开页面数据的时间为了更加精准,把进入的时间加上我们停留的60s,正好就是离开的时间,最后把停留的步数3再粘贴复制在 totalpage下,此时,这两步就统计出第一个会话内的起始结束情况。

第二个会话也可以方便的得到,我们把 session2中数据一一粘贴复制下来,与步骤一相同,如此我们便得到了第二个模型:visit 模型。

 image.png

这就是点击流中的两种模型,这两种模型完全是由一堆业物指标堆积而来。

例如,回头访客至少产生两个会话,我们根据 ip 去统计 session 的个数,属于同一个 ip 的会话如果有两个及以上就是回头访客,如果只有一个就是单只访客。

如果我们用原始数据统计,我们会发现非常的麻烦,这就是点击流概率模型当中的两个模型,可以结合讲义去熟悉步骤。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
8天前
|
C++ 开发者 Python
实现Python日志点击跳转到代码位置的方法
本文介绍了如何在Python日志中实现点击跳转到代码位置的功能,以提升调试效率。通过结合`logging`模块的`findCaller()`方法记录代码位置信息,并使用支持点击跳转的日志查看工具(如VS Code、PyCharm),开发者可以从日志直接点击链接定位到出错代码,加快问题排查。
19 2
|
8天前
|
监控 安全 前端开发
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
44 0
|
Android开发
Bug日志(四)——Android 防止多次点击(另解决多个列表子项点击)
在用户使用 应用的时候,经常会出现点击过快且多次点击同一控件的情况, 一方面这是因为应用或手机当前有些卡顿,网络卡啥的 另一方面也可能是由于很多应用并没有设置按钮点击时的 selector 或者其它按钮响应方式(例如点击按钮时按钮放大,常见于游戏),导致用户误认为没有点击到当前按钮。(比如使用selector再点击后更换背景颜色,图片等等)
|
分布式计算
有一个日志文件visitlog.txt,其中记录了用户访问网站的日期和访问的网站地址信息,每行一条记录。要求编写mapreduce程序完成以下功能: 1、 将不同访问日期的访问记录分配给不同的red
有一个日志文件visitlog.txt,其中记录了用户访问网站的日期和访问的网站地址信息,每行一条记录。要求编写mapreduce程序完成以下功能: 1、 将不同访问日期的访问记录分配给不同的red
99 0
|
6天前
|
关系型数据库 MySQL 数据库
mysql数据库bin-log日志管理
mysql数据库bin-log日志管理
|
6天前
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
35 1
|
7天前
|
运维 监控 安全
Java一分钟之-Log4j与日志记录的重要性
【5月更文挑战第16天】Log4j是Java常用的日志框架,用于灵活地记录程序状态和调试问题。通过设置日志级别和过滤器,可避免日志输出混乱。为防止日志文件过大,可配置滚动策略。关注日志安全性,如Log4j 2.x的CVE-2021-44228漏洞,及时更新至安全版本。合理使用日志能提升故障排查和系统监控效率。
49 0
|
8天前
|
C++
JNI Log 日志输出
JNI Log 日志输出
49 1
|
8天前
|
存储 运维 大数据
聊聊日志硬扫描,阿里 Log Scan 的设计与实践
泛日志(Log/Trace/Metric)是大数据的重要组成,伴随着每一年业务峰值的新脉冲,日志数据量在快速增长。同时,业务数字化运营、软件可观测性等浪潮又在对日志的存储、计算提出更高的要求。
239 6
|
8天前
|
XML Java Maven
Springboot整合与使用log4j2日志框架【详解版】
该文介绍了如何在Spring Boot中切换默认的LogBack日志系统至Log4j2。首先,需要在Maven依赖中排除`spring-boot-starter-logging`并引入`spring-boot-starter-log4j2`。其次,创建`log4j2-spring.xml`配置文件放在`src/main/resources`下,配置包括控制台和文件的日志输出、日志格式和文件切分策略。此外,可通过在不同环境的`application.yml`中指定不同的log4j2配置文件。最后,文章提到通过示例代码解释了日志格式中的各种占位符含义。

热门文章

最新文章