12-order by和group by 原理和优化 sort by 倒叙

 

========================原理和优化==================================
groupBy分组?会造成一个数据倾斜
1.解决方案:将输入在map端进行部分的打乱重分
set hive.groupby.skewindata=true;
2.在map到reduce端的时候设置combiner进行合并
set hive.map.aggr=true;
3.在combiner进行合并的时候要知道数据量的大小,如果不是特别大就不需要进行合并
set hive.groupby.mapaggr.checkinterval=100000;如果数据小于10w条那么没必要合并
4.看在combiner合并期间做的合并率
set hive.map.aggr.hash.min.reduction=0.5order by是排序?全局排序,reduce就应该是一个
其实orderby就是一个reduce在进行排序处理,那么压力特别大,并且容易产生宕机
那么我们在使用这个order by的时候就不能进行全局排序,加上limit
set hive.mapred.mode = strict; 
在严格模式下如果向使用order by进行排序,那么必须使用limit进行指定条数sort by排序,不是全局排序,单个reduce的排序
问题:将每个部门的数据都按照工资进行倒序?set mapreduce.job.reduces=3;
select * from t_emp distribute by deptno sort by salary desc;




sort by 每个mr自己得文件单独排序
distribute by 分发将map端得数据按照一定得规则分发给不同得reduce端
set mapreduce.job.reduces=3;
与order by不同,order by是全局排序 其实sortby也可以全局排序 reduce是一个得时候就可以全局排序
cluster by:分发+排序 == sort by+distribute by,但是cluster by 这个分发加上排序是只能指定一个字段

 

 

转载于:https://www.cnblogs.com/JBLi/p/10834570.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DOM相关(主要是var和let的区别用法)

一、1.节点的类型有七种,分别是:Document,DocumentType,Element,Attribute,Text,Comment,DocumentFragment 2.DOM树的根节点是:html 3.元素Element的NodeType值为&…

JOIN三个表格

表格一 表格二 表格三 SQL语句为 SELECT * FROM movie JOIN casting ON movie.idcasting.movieid     JOIN actor ON casting.actoridactor.id(要注意join 的格式) 最终结果展示在最下面 idtitleyrdirectorbudgetgrossmovieidactoridordidname1001710 Rillington Place19…

深度学习入门|第5章 误差反向传播法(二)

误差反向传播法 前言 此为本人学习《深度学习入门》的学习笔记 四、简单层的实现 本节将用 Python 实现前面的购买苹果的例子。这里,我们把要实现的计算图的乘法节点称为“乘法层”(MulLayer),加法节点称为“加法层”(…

牡丹-曹州牡丹:曹州牡丹

ylbtech-牡丹-曹州牡丹:曹州牡丹菏泽牡丹,山东省菏泽市特产,中国国家地理标志产品。牡丹,原产中国西北部,秦岭和陕北山地多野生,栽培历史悠久,南北朝时已声成为观赏植物。菏泽,古称曹…

idea报错:Error: java: 错误: 不支持发行版本 5

我在测试类运行时,出现下述错误: 可能原因:java版本不一致项目编译配置使用的java版本不对 解决方案: 第一步:file---Project Structure-- Project(两版本改为一致:第二、三个横框中数字都为11…

python网络爬虫基础day01

2019.5.13,今天在“小猿圈”跟着波波老师学习了爬虫开发的第一章和第二章,总结下今天学的知识: 爬虫基础介绍:   什么是爬虫?    - 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数…

忘记mysql数据库连接密码

本次操作所有需要用到的密令行: bin>net stop mysql bin>mysqld --skip-grant-tables bin>mysql mysql>use mysql mysql>update user set passwordpassword("123456") where user"root"; mysql>flush privileges; mys…

Python 基础 函数

1:调用函数 eg:调用内置函数 abs() 求绝对值 2:定义函数 1:定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用ret…

Springmvc跨服务器文件上传报403,409错误

报403错误 Tomcat默认只读模式&#xff0c;传图片会被拒绝 解决&#xff1a;找到 Tomcat 目录---conf下---web.xml&#xff0c;打开 加入 <init-param><param-name>readonly</param-name><param-value>false</param-value> </init-param&g…

单元测试——Winfrom

一、新建单元测试项目 二、单元测试可在Service或者Repository层分别创建 三、编写好代码后可运行单元测试 转载于:https://www.cnblogs.com/772933011qq/p/10863817.html

vue报错:dependencies were not found: * element-ui in ./src/main.js * element-ui/lib/theme-chalk/inde

报错信息 These dependencies were not found: * element-ui in ./src/main.js * element-ui/lib/theme-chalk/index.css in ./src/main.js 解决方案 1、 cmd进入命令行窗口&#xff0c;切入运行的项目文件夹下 2、输入 cnpm i element-ui -S(没有装淘宝镜像的使用 npm i…

Spring的配置与使用

一、Spring的组成 其中最核心的是Core Container核心容器 二、spring框架的作用&#xff1a; 对于我目前了解的spring框架&#xff0c;其中一个作用是用来降低程序间的耦合度的&#xff0c;也就是降低程序间的依耐性。 IOC&#xff1a;inversion of control 控制反转-->即将…

新增或编辑保存时出错后,页面无法再次编辑

新增或编辑保存时出错后&#xff0c;页面无法再次编辑&#xff0c;除非关闭新增或编辑弹窗&#xff0c;重新打开新增或编辑页面&#xff0c;否则无法编辑 &#xff0c;如下图&#xff1a; 解决方案 在新增方法之前定义loading参数&#xff0c;在调用后台服务之前先使用loading…

选择日期保存后日期变成前一天(avue date)

1、问题&#xff1a;选中日期&#xff0c;保存&#xff0c;日期变成前一天 {label: 生产日期,prop: esDate,type: date,}, 2、解决&#xff1a;&#xff08;avue的官方文档&#xff09; {label: 生产日期,prop: esDate,type: date,valueFormat: yyyy-MM-dd}, 只需要加 value…

v-region 地址组件无法回显问题(选择地址保存后,打开编辑,发现刚才选择的地址【省市县乡】信息消失,信息不回显)

(Avue) 1、问题 v-region 地址组件无法回显(选择地址保存后&#xff0c;打开编辑&#xff0c;发现刚才选择的地址【省市县乡】信息消失&#xff0c;信息不回显) 选择好省市县乡后&#xff0c;保存&#xff0c;再次编辑&#xff0c;发现如下&#xff1a; 2、解决方案&#xff…

JavaScript中一个对象数组按照另一个数组排序

JavaScript中一个对象数组按照另一个数组排序 需求&#xff1a;排序 const arr1 [33, 11, 55, 22, 66];const arr2 [{age: 55}, {age: 22}, {age: 11}, {age: 66}, {age: 33}]数组arr2中每项都是一个对象&#xff0c;对象中age属性 数组arr1中的项将arr2数组根据对象的age值…

oracle mysql 常用语句(查询表中某字段有几种类型,及每种类型有多少个数、插入多行、查询前几行)

亲测有效 1、&#xff08;1&#xff09;查询表中某字段有几种类型&#xff0c;及每种类型有多少个数 select DISTINCT name user_name,count(*) num from patient GROUP BY name &#xff08;2&#xff09;查询表中某字段类型共有几种 select count(distinct name) from pat…

SQL中多表查询:左连接、右连接、内连接、全连接、交叉连接

一、左连接&#xff0c;右连接&#xff0c;内连接关系 左连接&#xff1a;左表全部两个表交集&#xff08;①②&#xff09; 右连接&#xff1a;右表全部两个表交集&#xff08;③②&#xff09; 内连接&#xff1a;两个表交集&#xff08;②&#xff09; 二、结合具体例子看…

ORA-00972: identifier is too long问题解决

报错 解决&#xff1a; 查看你写的是否有中文 如果有中文&#xff0c;看是否有引号将中文引起来&#xff0c;用引号引起来后不报错

Alter操作(修改列名,修改列数据类型,增加列,删除列,增加列且设为主键及对默认值操作)

一、mysql &#xff08;增加列&#xff0c;删除列&#xff0c;修改列&#xff1b;增加&#xff0c;删除&#xff0c;修改列的默认值&#xff09; 增加列&#xff0c;删除列&#xff0c;修改列 1、修改列的数据类型 alter table patient modify column mood int2、修改列名 …