hive-对用户浏览网站的点击量按年月进行统计

点击量文件统计如下:

统计结果:

实现方法:

1.上传Windows上面文件到/home/hadoop/data/xiongmaoTV.txt
2.创建xiongmaoTV表,把/home/hadoop/data/xiongmaoTV.txt load 进去
3.hive (default)> select * from xiongmaoTV;(确认已经创建好表)
熊猫tv 2018-01-02 5
快手 2018-01-02 3
YY 2018-01-02 2
熊猫tv 2018-01-03 4
抖音 2018-01-02 15
快手 2018-01-03 3
YY 2018-01-03 1
抖音 2018-01-03 16
熊猫tv 2018-02-02 5
快手 2018-02-02 3
YY 2018-02-02 2
抖音 2018-02-02 15
熊猫tv 2018-02-03 4
快手 2018-02-03 3
YY 2018-02-03 1
抖音 2018-02-03 16
熊猫tv 2018-03-02 5
快手 2018-03-02 3
YY 2018-03-02 2
抖音 2018-03-02 15
熊猫tv 2018-03-03 4
快手 2018-03-03 3
YY 2018-03-03 1
抖音 2018-03-03 16
hive (default)> desc extended xiongmaoTV;(确认表字段的名称类型)
name                 string                                   
date                 string                                   
responsesize         int
4.新建一张表xiongmaoTV_temp 对date字段进行处理,只留下年月
hive (default)> create table xiongmaoTV_temp as select name,substr(date,1,7) as date,responsesize from xiongmaoTV;
# substr(date,1,7) 对date这个字符串进行截取,返回值是从第一个字符开始,取前七个字符
hive (default)> select * from xiongmaoTV_temp;(结果为部分内容)
熊猫tv 2018-01 5
快手 2018-01 3
YY 2018-01 2
hive (default)> desc extended xiongmaoTV_temp;
name                 string                                   
date                 string                                   
responsesize         int
5.hive (default)>  select name,date,sum(responsesize) from xiongmaoTV_temp group by name,date;
# 按名字和日期进行分组求得每个名字下面对应每月的点击量的和
YY 2018-01 3
YY 2018-02 3
YY 2018-03 3
快手 2018-01 6
快手 2018-02 6
快手 2018-03 6
抖音 2018-01 31
抖音 2018-02 31
抖音 2018-03 31
熊猫tv 2018-01 9
熊猫tv 2018-02 9
熊猫tv 2018-03 9
6.hive (default)>  select name,date,sum(responsesize),sum(sum(responsesize))over(partition by name order by date) from xiongmaoTV_temp group by name,date;
# 根据over函数设置窗口的大小,让它按照date的升序进行改变,再通过sum()函数对该窗口下的数据进行累加求和,得到每年当前的点击量和
YY 2018-01 3 3
YY 2018-02 3 6
YY 2018-03 3 9
快手 2018-01 6 6
快手 2018-02 6 12
快手 2018-03 6 18
抖音 2018-01 31 31
抖音 2018-02 31 62
抖音 2018-03 31 93
熊猫tv 2018-01 9 9
熊猫tv 2018-02 9 18
熊猫tv 2018-03 9 27

猜你喜欢

转载自blog.csdn.net/qq_42694416/article/details/85488117