大数据 hive 15--hive日志分析案例

本文通过分析技术论坛的Tomcat Access Log,利用Hive进行数据清洗和统计,关注的关键指标包括浏览量PV、注册用户数、独立IP数及跳出率。详细介绍了数据来源、清洗步骤及HQL统计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 项目来源

本次实践的目的就在于通过对该技术论坛网站的tomcat access log日志进行分析,计算该论坛的一些关键指标,供运营者进行决策时参考。

PS:开发该系统的目的是为了获取一些业务相关的指标,这些指标在第三方工具中无法获得的;

1.2 数据情况

该论坛数据有两部分:

(1)历史数据约56GB,统计到2012-05-29。这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式。

(2)自2013-05-30起,每天生成一个数据文件,约150MB左右。这也说明,从2013-05-30之后,日志文件不再是在一个文件里边。

图2展示了该日志数据的记录格式,其中每行记录有5部分组成:访问者IP、访问时间、访问资源、访问状态(HTTP状态码)、本次访问流量。

图2 日志记录数据格式

二、关键指标KPI

2.1 浏览量PV

(1)定义:页面浏览量即为PV(Page View),是指所有用户浏览页面的总和,一个独立用户每打开一个页面就被记录1 次。

(2)分析:网站总浏览量,可以考核用户对于网站的兴趣,就像收视率对于电视剧一样。

计算公式:记录计数,从日志中获取访问次数。

2.2 注册用户数

 

image

该论坛的用户注册页面为member.php,而当用户点击注册时请求的又是member.php?mod=register的url。

计算公式:对访问member.php?mod=register的url,计数。

2.3 IP数

(1)定义:一天之内,访问网站的不同独立 IP 个数加和。其中同一IP无论访问了几个页面,独立IP 数均为1。

(2)分析:这是我们最熟悉的一个概念,无论同一个IP上有多少电脑,或者其他用户,从某种程度上来说,独立IP的多少,是衡量网站推广活动好坏最直接的数据。

计算公式:对不同的访问者ip,计数

2.4 跳出率

(1)定义:只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比,即只浏览了一个页面的访问次数 / 全部的访问次数汇总。

(2)分析:跳出率是非常重要的访客黏性指标,它显示了访客对网站的兴趣程度:跳出率越低说明流量质量越好,访客对网站的内容越感兴趣,这些访客越可能是网站的有效用户、忠实用户。

PS:该指标也可以衡量网络营销的效果,指出有多少访客被网络营销吸引到宣传产品页或网站上之后,又流失掉了,可以说就是煮熟的鸭子飞了。比如,网站在某媒体上打广告推广,分析从这个推广来源进入的访客指标,其跳出率可以反映出选择这个媒体是否合适,广告语的撰写是否优秀,以及网站入口页的设计是否用户体验良好。

计算公式:①统计一天内只出现一条记录的ip,称为跳出数;②跳出数/PV;

处理步骤

1 数据清洗
  使用MapReduce对HDFS中的原始数据进行清洗,以便后续进行统计分析;

2 统计分析
  使用Hive对清洗后的数据进行统计分析

数据清洗

一、数据情况分析

1.1 数据情况回顾

该论坛数据有两部分:

(1)历史数据约56GB,统计到2012-05-29。这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式。

(2)自2013-05-30起,每天生成一个数据文件,约150MB左右。这也说明,从2013-05-30之后,日志文件不再是在一个文件里边。

图1展示了该日志数据的记录格式,其中每行记录有5部分组成:访问者IP、访问时间、访问资源、访问状态(HTTP状态码)、本次访问流量。

图1 日志记录数据格式

本次使

### 关于大数据平台运维中的 Hive 测评 Hive 是一种基于 Hadoop 的数据仓库工具,用于大规模数据分析和处理。它提供了类似于 SQL 的查询语言(称为 HiveQL),使得用户可以方便地执行复杂的数据分析操作[^1]。 #### 创建数据仓库 在头歌实验平台上学习 Hive 数据库的创建过程时,通常会涉及以下几个方面: - **数据库管理**:通过 `CREATE DATABASE` 命令来定义新的数据库环境。 - **表结构设计**:利用 `CREATE TABLE` 定义存储数据的具体表格形式以及字段类型。 ```sql CREATE DATABASE IF NOT EXISTS my_database; USE my_database; CREATE EXTERNAL TABLE IF NOT EXISTS example_table ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE LOCATION '/path/to/data'; ``` 以上代码片段展示了如何在一个指定路径下建立外部表并设置分隔符为制表符 `\t`。 #### 查询与统计功能 对于实际应用而言,掌握基本到高级的各种查询语句至关重要。这包括但不限于简单的 SELECT 语句、JOIN 操作、聚合函数的应用等: ```sql -- 统计每种类型的记录数 SELECT type, COUNT(*) as count FROM logs GROUP BY type; -- 使用 JOIN 进行跨表关联查询 SELECT a.id, b.name FROM table_a a JOIN table_b b ON (a.key = b.foreign_key); ``` 这些子说明了怎有效地从不同维度提取所需的信息,并支持更复杂的业务逻辑需求[^1]。 #### 实践案例分享 考虑到具体场景下的练习价值,在完成理论知识的学习之后,可以通过模拟真实世界的项目来进行巩固提升。比如尝试解决电商网站日志解析问题或者社交媒体情感分析任务等等。这类实践活动往往能够帮助学员更好地理解所学概念的实际用途及其局限性所在。 关于您提到的大数据平台运维 Hive 测评部分,则建议关注如下几个要点: - 掌握命令行界面的操作方法; - 能够独立编写脚本来实现自动化流程控制; - 对常见错误具备快速定位原因的能力; 最后提醒一点,由于技术不断进步更新迭代较快,请务必定期查阅最新文档资料以保持技能与时俱进[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值