网站流量日志分析--统计分析--基础指标统计分析(vv、ip)|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析--统计分析--基础指标统计分析(vv、ip)

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第四阶段) 网站流量日志分析--统计分析--基础指标统计分析(vv、ip)】学习笔记,与课程紧密联系,让用户快速学习知识。

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


网站流量日志分析--统计分析--基础指标统计分析(vv、ip)


内容介绍

一、访向次数(VV)

、IP

 

一、访向次数(VV)

会话次数指今天到网站产生多少次会话在一次会话中它可能只有一步操作也可能有多步操作只要这些操作时间差在30分钟以内即可

一天之内的会话次数session 数

1、数据表:ods_ click_ stream visit

不能使用宽表这里需要统计会话的次数打开宽表在宽表中没有跟会话相关的概念在 dv 中介绍了一个所谓的点击流模型在点击流模的两个表中型中一个叫 pageviews一个叫 visitsession 概念因此基于指标的计算不能再是宽表使用宽表再去识别筛选也可以但是操作量和难度比较大明确了数据来自于点击流之后还要进行取舍因为点击流模型有两张表要搞清两个表之间的关系pageviews是对原数据中每一条记录做会话的识别visit 对同一个会话的 session 做聚集在一个会话内不管有10部还是8部还是几部都会聚集成一条因此从 session 字段看在 pageviews 可能会存在重复的 session一个会话有多条记录而在 visit 中根据 session 做了聚集只要第一步和最后一步变成一条数据所以它没有重复的因此基于统计会话的次数两个表都可以使用但是差距在于用 pageviews 统计 session 的次数需要对 session 做 distinct 去重而 visit 不需要去重从效率的角度看应该用 visit基于分析 vv 指标不再是宽表而是点击流模型的 visit 表

2、分组字段分组条件,时间( day) day 比较特殊还是表的分区字段通过 where 分区过滤即可。

通过对点击流模型的梳理发现它也是分区表分区也是天一天之内

3、度量值计:count(session) 如果使用 ods_click_pageviews 进行计算 count(distinct session)

这就是两个表的区别不用 distinct 效率会更高一点

select

count(t.session) as vv统计出的结果访问次数

from ods_ click_ stream visit t where t. datestr="20181101";

不是宽表点击流模型的 visit 表为了方便起名叫 t因为数据和宽表的数据一样分区信息也一样也要结合在企业中的具体情况确定

在 hive 中执行得出结果是57,也就是今天有57个会话计算比较精准

 

二、IP

1、ip 曾经可以表示用户跟 uv 指标比较相似当下再表示用户不准确

select count(distinct remote addr) as ips from ods weblog detail where datestr ="20181101";

在表中直接进行 distinct 去重即可

2、ip 一天之内不重复的 ip 个数

跟上述的 uv 计算一样

select

count(distinct remote addr) as ip

from dw_ weblog_ detail t where t. datestr="20181101";

3、现在计算的四个指标只会出现在 hive 的终端上因此 show tables 并没有吧计算结果保存下来相当于临时计算的结果后面需要展示数据可视化总不能去执行分析所以在企业中对于指标通常去创建一个中间表或者临时表把数据记录下来选择项目的第四个数据分析中的第一个基础指标多维统计

 image.png

打开之后可以看到执行的各种 sql,重点是创建一个表叫做基础指标的基本信息表表名字叫做 webflow basic info 网站流量基础信息表

drop table dw_ webflow_ basic_ info;

create table dw_ webflow_ basic_ info (month string , day string ,

pv[ bigint,uv bigint,ip bigint,vv bigint) partitioned by (datestr string) ;

分区相当于计算出的一批基础标插入到表中之后需要计算时比较方便,

insert into table dw_ webflow_ basic_ info partition (datestr="20181101")

select

'201811' ,'01' ,a.*,b.* from

(select count(*) as pv, count (distinct remote_ addr) as uv, count (distinct remote_ addr) as ips

from dw_ weblog_ detail

where datestr ='20181101') a join

(select count (distinct session) as vv3 from ods_ click_ stream_ visit where datestr ="20181101") b;

执行再次强调创建表名在企业中一个表的表名通常建议以简短的英文便于理解的英文表示不要写汉语拼音复制粘贴到 hive 终端创建了一个表接下来用 insert 把四个查询语句结果插入到创建的 dw webflow basic info 表中指定分区是20181101,从宽表中统计出 pv uv 和 ip通过点击流模型 visit 表统计出 count vv把两个结果做一个 join联合起来把结果插入到 dw_ webflow_ basic_ info 表中非常简单明细的方案如果不了解 join 语句也可以分别执行四个语句分别进行插入相当于做了一个整合

基础指标结果保存入库:

drop table dw_ webflow_ basic_ info;

create table dw_ webflow_ basic_ info (month string,day string,

pv bigint,uv bigint,ip bigint,vv bigint) partitioned by (datestr string) ;

insert into table dw_ webflow_ basic_ info partition (datestr="20181101")

select '201811' ,'01' ,a.*,b.* from

(select count(*) as pv , count (distinct remote_ addr) as uv, count (distinct remote addr) as ips

from dw_ weblog_ detail

where datestr ='20181101') a join

(select count (distinct, session) as vvs from ods_ click_ stream_ visit where datestr ="20181101") b;

进入终端进行执行输入showtables查看是否成功输入 select*from dw_ webflow_ basic_ info得到基础信息为了方便也可以复制出来到 notepad++打开新的页面

image.png

可以发现的得到了20181101的基础信息pv 是13770,uv 是1027,ip 是1027,vv 是57,随着每天项目的不断维护每天都会得到基础信息表那么进行对比分析模型展示柱状图折线图就非常方便基础指标分析对于业务的解读极其重要

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
192 1
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
415 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
1月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
213 0
|
3月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
1月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
4月前
|
运维 关系型数据库 Serverless
函数计算产品使用问题之如何在日志中打印出你本地机器的IP地址
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
存储 弹性计算 运维
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
42 0
|
5月前
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
5月前
|
JSON 中间件 数据格式
Gin框架学习笔记(六)——gin中的日志使用
Gin框架学习笔记(六)——gin中的日志使用
186 0
下一篇
无影云桌面