大数据Spark “蘑菇云”行动第89课:Hive中GroupBy优化、Join的多种类型实战及性能优化、OrderBy和SortBy、UnionAll等实战和优化

编程入门 行业动态 更新时间:2024-10-06 06:42:07

大数据Spark “蘑菇云”行动第89课:Hive中GroupBy优化、Join的多种类型<a href=https://www.elefans.com/category/jswz/34/1769775.html style=实战及性能优化、OrderBy和SortBy、UnionAll等实战和优化"/>

大数据Spark “蘑菇云”行动第89课:Hive中GroupBy优化、Join的多种类型实战及性能优化、OrderBy和SortBy、UnionAll等实战和优化

大数据Spark “蘑菇云”行动第89课:Hive中GroupBy优化、Join的多种类型实战及性能优化、


OrderBy和SortBy、UnionAll等实战和优化


select gender,sum(salary) from employeesforhaving group by  gender;
select gender,avg(salary) from employeesforhaving group by  gender;
set hive.map.aggr=true; //需要更高的内存,在map端聚合,一般至少64G
select gender,avg(salary) from employeesforhaving group by  gender;
select * from employeesforhaving sort by salary;
select * from employeesforhaving sort by salary desc;


//order by和sort by 的区别:全局排序orderby;局部排序 sort by 
select * from employeesforhaving order by salary;


set hive.mapred.mode =strict;
select * from employeesforhaving order by salary; // 全局排序,内存溢出。执行排序过程会


讲所有的结果分发到同一个reducer中


select * from employeesforhaving order by salary limit 3; //ok 只需要增加limit语句就可


以解决这个问题




select count(1) from employeesforhaving 
     union all
     select count(1) from employ; //报错


Hive不支持顶层的Union操作

select * from (select count(1) as r1  from employeesforhaving union all select count(1)  as r2 from employee where phour='2055') tmp;


SELECT /*+MAP JOIN (a) */ 。。。。。。 

今天作业:基于电影评价系统的数据(后面很多案例都直接基于电影评价系统数据),写出正常的Reduce的Join,Map端的Join和Left Semi Join实现 





更多推荐

大数据Spark “蘑菇云”行动第89课:Hive中GroupBy优化、Join的多种类型实战及性能优化、OrderBy和SortBy、UnionAll等实战和

本文发布于:2024-02-14 03:06:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761785.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实战   蘑菇云   多种   性能   类型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!