#hive#分时段统计消耗

本文介绍了如何在Hive中实现每半小时统计一次消耗累计,通过创建临时表并利用时间分组,避免了使用脚本的复杂过程。具体做法是将时间点分为'0-30'和'30-60'两个时间段,对每个时间段进行累计消耗的求和,最终得到48个数据点,便于进一步的排序和绘图分析。

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

有个需求,是要一天每半个小时,统计一次消耗累计,共48个数据点。

刚开始,想把全天数据拉出来,然后脚本搞定。最后,灵感一来,通过一个取巧的办法,可以简单的统计,不用脚本,如下:

drop table t_1213_dq_tmp4;
create table t_1213_dq_tmp4 as 
select a.hour,case when a.minute<=30 then '0-30' else '30-60' end as minute,sum(a.xiaohao) as xiaohao
from
(
select name,split(split(clicktime,' ')[1],'\:')[0] as hour,cast(split(split(clicktime,' ')[1],'\:')[1] as bigint) as minute,sum(xiaohao) as xiaohao
from t_1213_dq_tmp1
group by name,split(split(clicktime,' ')[1],'\:')[0],split(split(clicktime,' ')[1],'\:')[1]) a 
group by a.hour,case when a.minute<=30 then '0-30' else '30-60' end;


这样把时间点分组以后,就能知道0-30,和30-60两个不同的时间段的累计消耗了;然后再排序,画

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值