【Hive 项目】统计各个用户每个月访问的次数

说明

统计各个用户每个月访问的次数,显示出以下信息:用户名、月份、访问次数

测试数据

tom,2020-01,5
tom,2020-01,15
jack,2020-01,5
tom,2020-01,8
jack,2020-01,25
tom,2020-01,5
tom,2020-02,4
tom,2020-02,6
jack,2020-02,10
jack,2020-02,5

数据导入 Hive

# 建表
create table test(
name string, 
month String,
pv int
) row format delimited fields terminated by ',';

# 从本地导入数据
load data local inpath '/root/info.txt' into table test;

# 查询数据
select * from test;

mark

统计

按照 month 分组pv 相加,最后显示name,month,sum(pv) 字段

如下面写法出现一个错误,出现这个错是因为,在使用分组的时候,聚合的时只 规定了 pv 的聚合方式name 的聚合方式没有确定

hive> select name,month,sum(pv) 
    > from default.test 
    > group by month;
FAILED: SemanticException [Error 10025]: Line 1:7 Expression not in GROUP BY key 'name'

而根据我们需要的统计结果,是需要 month,name 一起分组

select name,month,sum(pv) 
from default.test 
group by month,name;

mark

发表评论 / Comment

用心评论~