网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第四阶段) 网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度】学习笔记,与课程紧密联系,让用户快速学习知识。

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


网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度


1、统计每小时各来访 host 的产生的 pv 数并排序

drop table dw. pvs refererhost everyhour;

create table dw pvs refererhost eveyhourfref host string,month string,day string,hour string,ref host. cnts

bigint) partitioned by(datestr string);

insert into table dw. pvs refererhost. everyhour partition(datestr= '20181101')

select ref host,month,day,hour,count(*)as ref_ host. cnts

from ods weblog detail

group by ref, host,month,day,hour

having ref, host is not null

order by hour asc, day asc,month asc,ref host. cnts desc;

2、各可能是分组字段host 是时间维度

(1)数据表:dw_ weblog_ detail

因为不涉及到点击流模型所以是宽表事实表

(2)分组字段时间维度hour)、来访维度host

host 是 referer 中一部分

(3)度量值count()

select http_ referer , ref, host , month , day,hour ,count(1) as pv_ referer. cnt

from dw_ web1og_ detail

group by http. referer ,ref. host ,month, day ,hour

having ref. host is not null

order by hour asc,day asc, month asc,pv_ referer_ cnt desc ;

sql 是根据 referer ,host ,month, day ,hour 进行分组

这里要根据来访的 host 进行分组,referer 的出现是否会改变最终结果查看数据前五条 blog. fens .me 一样应该分到同一组中但是同一 host 不代表它们来自同一url可能来自于 a 页面也可能来自于 b 页面需要注意需求以 host 为标准进行分组统计时再把 url 出现就是 referer 出现在里面时就会改变最终的结果局部一样整体不一定一样如果出现包含关系的分组一定要结合当下的业务需求分析是否会对结果产生影响

image.png

3、打开 sql 脚本创建中间表叫做 refererhost_ everyhour 来访的每个小时pv 统计中不会再用 urlurl 出现会改变最终的结果在上述指标之上把 referer 分组字段排除掉直接根据 host 进行分组monthday 对结果没有影响都是同一月同一天因为20181101,一定找到的是这一天的数据最终起决定作用的是host 和 hour来到同一个 host同一个小时同一分组当中进行统计过滤为空排序

4、创建表执行

create table dw_ pvs_ refererhost everyhour(ref host string ,month string,day string

,hour string,ref. host_ .cnts bigint) partitioned by(datestr string) ;

根据小时根据时间的顺序时间的正序统计结果的倒序做统计排序执行

insert into table dw_ pvs_refererhost everyhour partition(datestre 20181101 )

select ref host , month , day ,hour ,count(1) as ref host cnts

from dw web log detail

groupbyrefhost,month,day,hour

having ref host is not null

order by hour asc,day asc , month asc,ref host cnts desc ;

查询结果是否符合业务需求

select*from dw_ pvs_ refererhost_ everyhour limit 20;

把结果复制到 notepad++可以看到结果非常清晰

image.png

每个小时来自不同 host 所产生的 pv 数结果可以在数据报表中做展示让别人能够知道一个小时中来自于哪个网站的人更多注意区分清楚当中字段的取舍会不会对结果产生影响

select ref host , month , day, hour ,count(1) as ref_host_ cnts

from dw_weblog_ detail

group by ref host , month , day,hour

having ref_host is not null

order by hour asc,day asc, month asc,ref_host_ cnts desc;

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
198 1
|
6月前
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
7月前
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
286 2
|
7月前
|
监控 安全 前端开发
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
100 0
|
分布式计算
有一个日志文件visitlog.txt,其中记录了用户访问网站的日期和访问的网站地址信息,每行一条记录。要求编写mapreduce程序完成以下功能: 1、 将不同访问日期的访问记录分配给不同的red
有一个日志文件visitlog.txt,其中记录了用户访问网站的日期和访问的网站地址信息,每行一条记录。要求编写mapreduce程序完成以下功能: 1、 将不同访问日期的访问记录分配给不同的red
150 0
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
361 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
15天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
336 3
|
25天前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
|
2月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1712 14