范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

大数据之HIVE入门(二十)

  统计函数count 、sum、min、max、avg用法count:计数,如果count的字段中有null行会被忽略,所以一般统计行数可以直接写count(1);如果需要针对某个字段非空字段计数,如对设备号字段统计则写count(device_id);如果要对某个非空字段去重统计,如对设备号字段去重统计则写count(distinct device_id),当然也可通过先group by 再以计数的方式进行统计。一般用法如下:--查询每个部门有多少人 select dept,count(1) from staff group by dept;  --查询部门中有多少人参与投票及投票次数(假设1人可投多票) select dept,count(1) as vote_num,count(distinct u) as vote_uv from dept_vote_log group by dept;  --查询部门中有多少人参与投票及投票次数(假设1人可投多票),不用count(distinct)方式实现 select dept,sum(vote_num) as vote_num,count(1) as vote_uv  from (   select dept,u,count(1) as vote_num from dept_vote_log group by dept,u ) t group by dept
  sum :求和。如果指定字段中有null字段则被忽略。详见示例:--对部门工资进行求和 select dept,sum(salary) as salary from dept_salary where year="2021" group by dept min: 求最小值。--取部门工资最低人员 select dept,min(salary) as min_salary from dept_salary where year="2021" group by dept;max:求最大值。--取部门工资最高人员 select dept,max(salary) as max_salary from dept_salary where year="2021" group by dept; avg:求平均数。--取部门平均工资 select dept,avg(salary) as avg_salary from dept_salary where year="2021" group by dept;
  以上基础统计函数,除了常规的功能外,它还有一个开窗的用法:
  over(partition by col order by col asc|desc window_specification ):
  partition by :指定分组字段。
  order by : 指定排序顺序。
  window specification:指定行的计算范围,可选,不指定默认是从行首到当前行。
  窗口规范语法如下:(ROWS | RANGE) BETWEEN (UNBOUNDED | [num]) PRECEDING AND ([num] PRECEDING | CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING) (ROWS | RANGE) BETWEEN CURRENT ROW AND (CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING) (ROWS | RANGE) BETWEEN [num] FOLLOWING AND (UNBOUNDED | [num]) FOLLOWING  --------------------------------说明------------------------------------- preceding 往前 following 往后 unbounded preceding 往前所有行,即初始行 n preceding 往前n行 unbounded following 往后所有行,即末尾行 n following 往后n行 current row 当前行  --------------------------------示例------------------------------------   --计算全部数据 rows between unbounded  preceding and unbounded following --计算从开始到当前行 rows between unbounded  preceding and current row --计算前3行到当前行 rows between 3  preceding and current row
  以sum over为例,通过开窗功能,它可以实现累计求和滑动窗口求和功能。
  假如我们要计算当月每个人截至到当天从月初累计到现在的收入总和。传统的方法是计算每天的从月初到当天的汇总,生成子查询或中间表,再用中间表关联上用户每天的汇总数据,来计算占比等数据指标。---原始数据--sale_log--- sale_date	saler	revenue 2022-03-01	saler1	200 2022-03-02	saler2	400 2022-03-03	saler1	300 2022-03-04	saler2	300 2022-03-05	saler1	1000 2022-03-06	saler2	500 2022-03-07	saler3	200 2022-03-08	saler1	600  select sale_date,saler,revenue,sum(revenue) over (partition by saler order by sale_date asc rows between unbounded  preceding and current row) as total_current  from sale_log ;  sale_date	saler	revenue total_current 2022-03-01	saler1	200 200 2022-03-03	saler1	300 500 2022-03-05	saler1	1000 1500 2022-03-08	saler1	600  2100 2022-03-02	saler2	400 400 2022-03-04	saler2	300 700 2022-03-06	saler2	500 1200 2022-03-07	saler3	200 200
  同理count over 可以实现累计计数和滑动记数功能;min over 、max over可以实现求累计求最小最大值和滑动窗口的最小最大值功能;avg over可以求实现累计平均和滑动平均数功能。就不一一举例了。

iPhone没那么香了?五大手机品牌换机忠诚度出炉,苹果仅位列第四现在已经是8月底,到了9月份,苹果就将发布iPhone13系列,据悉今年备货超过9000万台,以满足全球果粉们的换机需求。不少人选择iPhone的原因,是因为苹果手机有着强大的处理新一代折叠屏力作三星GalaxyZFold35G让手机体验更完善折叠屏手机的出现,不仅带来了智能手机全新的发展方向,更重新定义了智能手机的使用方式。相较于传统的直屏手机,折叠屏手机拥有更大的屏幕优势和更便捷的交互方式,因而带来了截然不同的使用体盘点四款一步到位的5G手机,用着放心,三五年都不过时其实当下对于那些经济水平不错的人来说还是会首先考虑高端旗舰手机,至于为何?原因也很简单,这些用户就是想买到一款让人感到放心的机型,从而得到更好的体验感。不妨就来看看一下几几部手机。从百元到旗舰,各价位手机的最佳选择,一篇文章告诉你一01000元价位1红米9A电池比较大价格也比较便宜,并且对老人机做了专门的适配,就比如扬声器的声音比较大,收音机不用插耳机就可以使用。适配了MIUI12的老年版,桌面更加简洁,图骁龙855换新手机,选择骁龙870还是骁龙888?我从没想过这个问题有什么好纠结,我们现在可以将买手机的人分为3种1。不打游戏者,在预算充足的情况下可以选择目前旗舰(三星s21ultra,findx3pro,一加9pro,魅族18中国电信被错杀,短视的资本还认识不到天翼云的价值涨停跌停再跌停暴跌暴跌回A上市以来,巨无霸中国电信股价走势上演了惊天反转戏码上市首日,中国电信开盘后跳水,一度逼近发行价,随后可能是游资投机,股价直线拉升至涨停,单日涨幅近34。8每经11点丨国家广电总局停止播出郑爽已参与制作的节目网信办算法推荐服务提供者不得利用算法屏蔽信息过度推荐操纵榜单每经编辑张喜威1丨网信办算法推荐服务提供者不得利用算法屏蔽信息过度推荐操纵榜单每经AI快讯,8月27日,网信办就互联网信息服务算法推荐管理规定(征求意见稿)公开征求意见。意见提出,智能门锁的崛起TCL可视安全智能锁引领未来发展趋势8月26日,以看得见的安全感为主题的TCL可视安全智能锁秋季新品发布直播圆满落幕,TCL3D人脸识别猫眼锁X7STCL3D人脸识别智能锁X7以及TCLNFC全自动智能锁P12等秋季拥有教育机顶盒,让孩子在教育机顶盒中欢乐学习七八十年代,家中拥有一台电视,往往是富贵的象征。而在不断发展的现代社会中,电视已经成为每家每户都不可缺少的家用电器,有些家庭还不止拥有一台电视机。那么在电视机盛行的时代,也慢慢出现智能手机什么时候让你觉得是智障手机?这哪是智能手机,简直就是智障,还好意思说是智能的,你咋不上天呢!如果您喜欢我的回复,请关注我(匠心志)来安慰一下我这幼小的心灵搬运一下微博现在手上的手机是荣耀magic,还没有出现2021年买菜APP十大品牌分析报告思瀚产业研究院盒马生鲜盒马鲜生是阿里巴巴对线下超市完全重构的新零售业态。盒马是超市,是餐饮店,也是菜市场,但这样的描述似乎又都不准确。消费者可到店购买,也可以在盒马App下单。而盒马最大的特点之
WindowsService服务和定时任务框架quartz之间原来是这种关系前言项目开发完成后,对接的项目有很多个模块,由于其中的一个环节疏忽,现在需要在原有的基础上把缺失的数据自动写入数据库存储起来。重新修改程序逻辑已然不现实,现在需要一个补丁来进行逻辑和付费网盘说再见,跟着本文自己起个网盘(Java)项目源码获取关注转发之后私信回复源码即可免费获取到一项目介绍一款开源使用简单功能完整的Java网盘云盘系统。支持在线视频播放文档在线预览音乐播放图片查看等功能的文件云存储平台。技术记一次使用线程池出现的问题(线程池异常)背景之前在工作中遇到一个问题,我定义了一个线程池来执行任务,程序执行结束后任务没有全部执行完。业务场景是这样的由于统计业务需要,订单信息需要从主库中经过统计业务代码写入统计库。由于不可忽视的Dubbo线程池避坑指南推荐阅读阿里巴巴4面Java岗位算法性能调优并发多线程数据库DubboKafkaMyBatisreidsSpring多线程等,学完就去面试BAT问题描述线上突然出现Dubbo超时调面试三轮我倒在了一道sql题上sql性能优化一前言最近小农在找工作,因为今年疫情的特殊原因,导致工作不是特别好找,所以一旦有面试电话,如果可以,都会去试一试,刚好接到一个面试邀请,感觉公司还不错,于是就确定了面试时间,准备了idea远程调试,一个用上就被老大表扬的黑科技不知道各位有没有遇见以下情况国服第一测试我本地环境出了一个bug,那个稀饭下雪你过来看看。或者国服第一测试外网正式服出了一个bug,我导了数据库环境到本地,看了下确实是bug,那个基于ServletJSP开发的小米商城项目源码分享小米商城项目流程展示注意jsp页面数据库以及部分Utils工具已提供,我们只需要创建项目导入创建和编写其他代码即可。页面展示过程被红色线框圈住地方是我们需要做的商城入口,点击该入口小米智能音箱高清扬声器评论价格令人印象深刻小米Mi智能扬声器高清是该品牌于2018年在无线扬声器市场中的入门产品,尽管它主要针对说汉语的消费者,但它可以与其他大品牌竞争对手一较高下。极简主义和离散的浅灰色立方体(如果您选择2020,华为和荣耀艰难的一年,负重前行,不忘初心。由于显而易见的原因,2019年对华为来说尤其糟糕,至少我们当中有些人认为2020年会如此。尽管如此,华为仍然勉强维持生计,甚至能够推出一些很棒的产品,从耳机和智能手表到智能手机和笔小米POCO悄悄布局海外市场,可谓计划长远,野心不小啊Poco在2020年1月成为独立实体,在不到运营的一年内就实现了这一里程碑。该报告称,Poco现在在在线交易量上已落后于竞争对手OnePlus和Realme。Counterpoin荣耀V405G出现在视频中,发布推迟到1月22日上周,Honor表示将在1月18日在中国推出V405G,但现在该公司已宣布将在1月22日推出这款手机。荣耀援引了会议场地和设备相关问题的延误,但承诺将在当地时间1月22日开始销售V