从2020/04/22日开始,往延3天,按req_id关联,统计曝光事件与点击事件之间的时间间隔分布情况,按30分钟为粒度,
点击事件字段:req_id,clickTime,
曝光事件字段:req_id,exposureTime
需要统计clickTime-exposureTime在各个时间差(30分钟,60分钟,90分钟。。。)的百分率
数据结果如下:

时间间隔(单位分钟) 占比情况(%) 备注
30 80
60 95
90 96
120 98
150 99
思路:
1.用req_id 关联点击事件left join 曝光事件,且曝光时间和点击事件都存在的情况下,click[20200422],exposure[20200420,20200421,20200422]
2.获取点击时间和曝光时间
3.利用2步骤中的 点击时间-曝光时间差 得到 时间差
4.计算各个时间差的占比

function etldata() {echo "start etldata"beeline -e "select time,count,sum,sum(rate) over(rows between UNBOUNDED PRECEDING and CURRENT ROW)from(selecttime,count,sum,(count*100.00)/sum as ratefrom(select time,count,sum(count) over() as sumfrom(select (time+1)*30 as time,count(*) as countfrom (selectclick.req_id,click.rtime as ctime,expo.rtime as etime,floor((click.rtime-expo.rtime)/1000/60/30) as time,row_number() over(partition by expo.req_id) as rnfrom (select rtime,req_idfrom tmp.ad_click_bwhere data_date=2020042406) clickleft join (select rtime,req_idfrom tmp.ad_exposure_bwhere data_date>=2020042404 and data_date<=2020042406  ) expo on click.req_id = expo.req_id)cli_epo where rn=1 group by time )t2)t1 )t order by time asc"echo "end etldata"
}function main() {etldata
}main

hive以半小时为维度进行统计的需求相关推荐

  1. hadooppythonsql_半小时搞定Hadoop+Mysql+Hive+Python

    1. 说明 搭建过Hadoop集群的小伙伴一定知道,如果不用docker,半小时配好Hadoop+Mysql+Hive(后简称Hive)肯定是胡吹,有了Docker镜像,没有说明文档,配好了也不一定会 ...

  2. 使用lambda去重、map排序、按任意时间间隔(小时、半小时、分钟)进行结果统计

    1.lambda去重 public static <T> Predicate<T> distinctByKey(Function<? super T, Object> ...

  3. hive+mysql+速度_半小时搞定Hadoop+Mysql+Hive+Python

    1. 说明 搭建过Hadoop集群的小伙伴一定知道,如果不用docker,半小时配好Hadoop+Mysql+Hive(后简称Hive)肯定是胡吹,有了Docker镜像,没有说明文档,配好了也不一定会 ...

  4. mysql统计每半小时内的数据(查寻某段时间内的数据)

    mysql统计每半小时内的数据(查寻某段时间内的数据) 表结构 sql展示 sql说明 结果展示 思考 需求:统计某段时间内的数据,以半小时为单位统计 表结构 sql展示 SELECT @rank:= ...

  5. mysql按天,小时,半小时,N分钟,分钟进行数据分组统计

    mysql按天,小时,半小时,N分钟,分钟进行数据分组统计 mysql不同时间粒度下的分组统计 按天统计 按小时统计 按半小时统计 按N分钟统计 按分钟统计 mysql不同时间粒度下的分组统计 我们在 ...

  6. hive通过grouping sets多维度组合去重统计避免使用distinct

    在hive中,如果遇到多维度组合统计,并且要进行去重统计,例如统计不同维度组合的访问用户数,比如统计运营商.手机品牌.网络类型的用户数,怎样避免不用ditinct(因为distinct效率低),并且g ...

  7. Mysql统计每个小时或半小时数据的数量

    Mysql 查询一天中,每个小时数据的数量 Mysql 查询一天中每半小时记录的数量

  8. smarty半小时快速上手入门教程

    本文讲述了smarty快速上手入门的方法,可以让读者在半小时内快速掌握smarty的用法.分享给大家供大家参考.具体实现方法如下: 一.smarty的程序设计部分: 在smarty的模板设计部分我简单 ...

  9. 土拍熔断意味着什么_半小时3宗地接连熔断 今日长沙土拍关键字:“焱”

    来源:凤凰网房产长沙站 4月27日,注定会在2020年长沙土拍史上画下浓墨重彩的一笔. 这一天,长沙土地市场迎来出让高峰,7宗地块集中出让,包括3宗工业用地和4宗经营性用地.3宗工业用地与往常一样,上 ...

最新文章

  1. 第四条:通过私有构造器强化不可实例化的能力
  2. ES6里的修饰器Decorator
  3. 推荐算法炼丹笔记:序列化推荐算法Bert4Rec
  4. IoT开发精英实战营招募啦!速来报名!
  5. Spark案例:Scala版统计单词个数
  6. Flex 加载pdf
  7. JS数据结构第五篇 --- 二叉树和二叉查找树
  8. 来了!最详细2019实习生退税完全攻略(适用于所有实习过的同学)
  9. 机房布线技术设计与施工
  10. 如何模拟地震、噪音、颠簸路面激励下的不确定性振动行为?
  11. 软考 系统架构设计师 2009-2018年英语翻译及重点词汇
  12. 库存数量控制中储备定额方法的改进与实现
  13. 新年贺卡用python_Photoshop 一张简洁的新年贺卡制作方法
  14. graphs菜单_Wireshark自带工具IO Graphs分析接收数据平滑度案例
  15. 视频剪辑 电脑录屏助手
  16. ora2pg参数fkey_deferrable引出创建索引NOT VALID方式
  17. 大数据的流处理和批处理及其框架
  18. GridSearchCV实例:对Xgboost回归任务进行网格调参
  19. 上海个人所得税缴费明细查询攻略
  20. 分布式通信协议-序列化(分布式笔记)

热门文章

  1. 奶茶封口膜-市场现状及未来发展趋势
  2. WebGL编程指南-30 三维物体雾化效果,立方体雾化效果
  3. 大疆校园招聘经验汇总
  4. 微信小程序引用vant toast 提示 “未找到 van-toast 节点“
  5. 技术学校面试该说什么_我第一次现场技术面试后,香港专业教育学院学到了什么...
  6. C#编程基础——综合项目实践:KTV点歌系统项目第九课:制作歌曲排行窗体
  7. 沉没成本:为什么该放手时我们总是无法放手
  8. 红帽认证工程师(RHCE)的发展前景
  9. cmd无法进入其他盘符问题解决方案
  10. 那些年我记下的一些编程错误