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

简介: 快速学习网站流量日志分析--统计分析--基础指标统计分析(pv、uv)

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

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


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


内容介绍

一、模块开发-统计分析

二、基础指标多维统计分析

 

一、模块开发-统计分析

1、数据仓库建设好以后,用户就可以编写 Hive SQL 语句对共进行访问并对共中数据进行分析。

2、在实际生产中,企业实际开发过程中究竞需要哪些统计指标通常由数据需求相关部门人员提出,而且会不断有新的统计需求产生,以下为网站流量分析中的些典型指标示例。

3、对于开发者要做的就是正确解读理清指标背后的业务含义不要出现歧义思考在书上哪些表可以支撑指标的计算以及思考编写 Hive SQL 时怎么能够计算出来指标

 

二、基础指标多维统计分析

1、基础指标统计

对于指标业务含义的解读是关键。基础指标又称为骨灰级指标是任何一家公司开展网站分析中必须要计算的大家都要来计算的指标很简单但是要理清它背后的含义并且思考该通过怎样的数据和方式把它计算出来

(1)PageView 浏览次数(pv)。

一天之内网站页面被加载的总次数一天之内请求一次页面 pv+1,请求多次pv累加

数据表确定数据所在的表是哪个通过哪个表可以计算指标如果直接有表就直接用如果没有考虑要怎么把它变出来

分组字段在实际的开发中有大量的分组统计分组可能不只一个根据需求进行确定分组就是 geluba 后面的字段

度量值取值还是取个数取最大值还是最小值平均值还是 top n

打开 hive 服务器show tables 查看当前数据中有几种表一个宽表一个origin窄表当有宽表和窄表存在的情况下窄表将会退出历史舞台它俩的数据完全冗余并且宽表的信息更加的明确明细还有两份典型业务模型的延伸表里面往往是业务延伸点击流用户的会话筛除相关的轨迹线当下不做考虑t dim time 时间唯独表在计算一些指标情况下如果不出意外绝大多数所依赖的表都是宽表其他的可能需要延伸表或其他的表进行计算

数据表:dw_ weblog_ detail

image.png

分组字段根据指标梳理一下一天之内网站页面被加载的总次数天像是分组字段比如数据是每天每天的数据,12345达到每一天要做分组通过解读需求感觉到分组字段有时间唯独的分组时间day),查看宽表的结构desc formatted dw weblog detail查看宽表是分区表分区字段是datestr

image.png

输入show partitions dw weblog detail查看分区信息可以看到当前宽表中有一个分区而分区的时间恰好是20181101,意味着数仓后期维护数据将按照天进行划分一天一分区day 比较特殊还是表的分区字段通过分区过滤就可以找到这一天通过 where 分区过滤即可。

度量值可以把宽表数据打出来可以在hive的终端用星显示也可以复制出来放在笔记中下图是宽表的数据结构如果不加任何考虑就可以把一条日志当作一个点击行为一个页面加载行为但是这样计算不精准不加任何考虑就是 count(*),有多少个日志就有多少个pv

image.png

查询语句关键字 select,from 后面查询操作表宽表 detail 表为了方便起个别名t通过上述分析知道过滤是分区过滤要找一天之内的根据分区字段进行过滤分区是字符串类型用引号括起来其他天指令即可输入代码结果是13770,这样计算不精准

select

count(*) as pv

From dw _weblog_ detail t where t. datestr="20181101"; --不精准

当中所有的请求都当作页面点击的次数但是只有请求界面才可以称之为有效的数据这样 count(*)是把所有的请求当作页面点击的次数对指标进行梳理发现一天之内网站页面被加载的总次数只有请求页面才能称之上是有效的数据在request字段发现有的请求 png有的请求 jpg有的请求页面有的请求是静态资源的为了更加准确精准是页面被加载的次数应该把静态资源的请求过滤掉在数据预处理时通过valid的校验服务标记位把没有包含在静态资源的或者不合法的复制过滤一下所以针对 pv 指标想要精准的计算应该在 select 基础上加一个过滤静态资源and 后面加条件valid 要确定是什么类型的打开 hive 看表是什么类型的后面是 string字符串类型

image.png

select

count(*) as pv

From dw_ weblog. detail t where t . datestr="20181101" and t.valid = "true";

--精准过滤了静态资源的请求 贴近实战 

在 hive 中执行pv76,明显更贴近于实际比较准确要注意它的准确度在项目中因为数据量比较小所以以第一个作为 pv 值但是背后要搞清楚哪一个更贴近于实战

(2)Unique Visitor 独立访客(UV)

一天之内不管来多少次都只算一次独立访客数指标理解很简单难点在于怎么确定人

一天之内不重复的访客数

计算的关键是对访客的识别就是怎么识别是不同的人在数据中有两个字段比较特殊一个是 remote addr一个是 remote user但是在项目中比较尴尬用户标识字段是一个丢失的字段数据没有收集到因此如果以 cookie 表示用户当然是非常精准的但是数据丢失又不能计算,这时产生一个问题可以不可以用 ip 表示用户如果可以它与真是用户数据之间有什么区别ip可以代表人一个 ip 代表一个用户区别在于用 ip 代表用户它不精准不准确在当下的现实中一个公司一层楼或者一个小区都是不同的用户不同的人都上网但是上网时公网ip可能只有一个用 nvp 转换技术保证上网

image.png

看图中两 个 ip 像同一个 ip可能是同一个人也可能是两个人因此比较明确以项目给的 ip 作为标识

计算的关键是对访客的识别。以 ip 作为判断标识不精准技术上是一样的。

数据表宽表没有涉及到点击流相关的概念。dw_ weblog_ detail

分组字段统计的是 ip 不重复,时间( day) day 比较特殊 还是表的分区字段通过where 分区过滤即可。

度量值统计一天之内不重复的访客数如果直接 count ip 就会出现重复值sql 层面进行去重统计。count(distinct remote_ addr)

select

count (distinct remote_ addr) as uv

from dw_weblog_ detail t where t .datestr="20181101"; --以 i p 计算 uv 不精准

放在 hive 中执行结果是1027,结果不准确

不是 count remode而是 count remode user假如 cookie id 用户标记存在会更加的精准

select

count(distinct remote_ user) as uv

from dw_weblog_ detail t where t. datestr="20181101";-以 user ID 计算 准确

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
391 1
|
9月前
|
人工智能 运维 监控
一招高效解析 Access Log,轻松应对泼天流量
一招高效解析 Access Log,轻松应对泼天流量
174 0
一招高效解析 Access Log,轻松应对泼天流量
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
561 2
|
监控 安全 前端开发
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
268 0
|
存储 弹性计算 监控
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
本文就通过一个客户的实际案例开介绍如何使用在无法直接开启CEN flowlog的情况下,使用SLS的数据加工能力,从VPC flowlog的数据中过滤出客户需要的流量日志出来。
641 0
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
|
7月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
834 54
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
373 9