Hive实战之单月访问次数和总访问次数

 
 

数据:(基表:jibiao)

用户名,月份,访问次数


A,2015-01,5 A,2015-01,15 B,2015-01,5 A,2015-01,8 B,2015-01,25 A,2015-01,5 A,2015-02,4 A,2015-02,6 B,2015-02,10 B,2015-02,5 A,2015-03,16 A,2015-03,22 B,2015-03,23 B,2015-03,10 B,2015-03,1

需求:求单月访问次数和总访问次数

访客    月份    月访问总计    累计访问总计
A    2015-01       33        33
A    2015-02       10        43
…….    …….         …….       ……. 
B    2015-01       30        30
B    2015-02       15        45
…….    …….         …….       …….

 

实现需求的步骤:

  1,先做一个表A。属性为name,month,sum(num)。插入基表的name和mon分组数据。

create table A (name string,mon string, sum string) ;
insert into table A select name as name,mon as mon,sum(count) as sum from jibiao j group by j.name,j.mon;

  2,做一个视图,把和表A相同的表B和表A内关联。

create view AandB as select a.name aname, a.mon amon, a.sum asum, b.name bname, b.mon bmon, b.sum bsum from 
A a join A b on a.name=b.name;

 

  3,视图AandB中amon>=bmon  时,通过对bsum的操作来进行月份的累加效果来查找累计访问总计。

select aname amon asum sum(bsum) as monsum from AandB where amon>=bmon group by aname,amon,asum order by aname,amon;

 

转载于:https://www.cnblogs.com/songweideboke/p/9817514.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值