hiveSql的一些问题

一:hive的小需求

需求:

有如下访客访问次数统计表 t_access_times

访客

月份

访问次数

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

……

……

……

需要输出报表:t_access_times_accumulate

访客

月份

月访问总计

累计访问总计

A

2015-01

33

33

A

2015-02

10

43

…….

…….

…….

…….

B

2015-01

30

30

B

2015-02

15

45

…….

…….

…….

…….


实现:

select a.name,a.time,max(a.num),sum(b.num)  from (select name,time,sum(accessnum) num from t_access_times group by name,time) a join (select name,time,sum(accessnum) num from t_access_times group by name,time) b on a.name=b.name where b.time<=a.time  group by a.name,a.time order by a.name,a.time;

结果:

+---------+----------+------+------+--+
| a.name  |  a.time  | _c2  | _c3  |
+---------+----------+------+------+--+
| A       | 2015-01  | 33   | 33   |
| A       | 2015-02  | 10   | 43   |
| B       | 2015-01  | 30   | 30   |
| B       | 2015-02  | 15   | 45   |
+---------+----------+------+------+--+

缺点:计算慢,非常的慢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值