【hive】经典笔试面试题(四)如何计算分钟级DAU

本文详细介绍了如何利用Hive解决分钟级DAU的计算问题。DAU即日活跃用户数,分钟级DAU则关注每分钟首次访问的用户数。文章提供了需求分析,数据表结构,并给出了计算每分钟活跃用户数的Hive代码实现,最终通过窗口函数实现数据累加。
摘要由CSDN通过智能技术生成

1 需求

还是那句老话,当需求描述清楚时,此需求就算完成了一半
(大概是这个意思哈)
啥是DAU?啥是分钟级DAU?
咱们一个一个来
DAU(Daily Active User)日活跃用户数量
分钟级DAU,emmm 也不知道是不是这个叫法
就是截止到当天分钟,累计到访过app的用户。
比如 截至当天00:01分,到访用户20人
截至当天00:05分,到访用户100人
截至当天00:06分,到访用户105人
……
截至当天23:59分,到访用户10w人(也就是当天DAU)
这个例子够鲜明了吧。应该可以理解了哈。

2、能提供啥?

嘿嘿,还是一个曝光表。
一天数据代表一个用户曝光了某个页面,或者说某个元素。
反正就是代表一个用户来到了我们的app
表名:show_table
字段名:p_date(分区yyyyMMdd格式),user_id(用户id),ts(13位时间戳,精确到毫秒)
这曝光表有点简陋哇,实际上业务中会很复杂的。如:用户用了什么设备啊,用户app哪个版本啊,经纬度啊,看了什么页面,停留多久之类的。这些数据和本次需求无关。自动过滤掉了。

3、怎么写

刚拿到此题的同学可能毫无头绪
别着急,我们来分析一下
首先,肯定要计算出当天用户第一次到访app时的哪一条数据,其余的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值