天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。

Hive sql按月统计不同地区用户数据,分区是按天级别

itzoo 7156次浏览 0个评论

表结构

需求

hive表设计是按天存储数据,每天一个分区,存放全国不同省市的用户数据,省市通不过cityid字段编号的不同做区分,现在需要输出天津每个月的用户总数。

思路

这里仅提供自己的思路,对全表进行查询,并截取日期字段,取前6位,保留到月,对数据按月进行重新分组,并输出总数count和月份。这里使用到了substr函数。

代码

select count(tj.mdn),tj.month
from
(
select dt.mdn,dt.cityid,substr(dt.day,1,6) as month
from
proripc.develop_mergelocation_tianjin dt
where
dt.cityid = ‘81201’
) tj
group by tj.month;

代码仅供参考,如有更好的方法,欢迎留言交流。 :smile:


ITZOO版权所有丨如未注明 , 均为原创丨转载请注明来自IT乐园 ->Hive sql按月统计不同地区用户数据,分区是按天级别
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址