========================原理和优化==================================
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

12-order by和group by 原理和优化 sort by 倒叙相关推荐

  1. mysql的order by,group by和distinct优化

    order by,group by和distinct三类操作是在MySQL中经常使用的,而且都涉及到排序,所以就把这三种操作放在一起介绍. order by的实现与优化 order by的实现有两种方 ...

  2. MySQL中order by语句的实现原理以及优化手段

    相信很多人在面试过程中,总被问到有没有 SQL 调优经验,对于工作经验年限较少的求职者,通常都是在面试之前从网上百度一些答案,提前背熟,然后面试的时候直接将提前背好的答案说出来.笔者作为一名菜鸟,在刚 ...

  3. 【重要】MySQL中order by语句的实现原理以及优化手段

    写在前面 filesort排序算法参考 :https://blog.csdn.net/lijingkuan/article/details/70341176 双路排序:是首先根据相应的条件取出相应的排 ...

  4. mysql join order by_MySQL 14 慢查询优化join、order by、group by

    1.慢查询的优化思路 1.1优化更需要优化的SQL 优化SQL是有成本的 高并发低消耗的比低并发高消耗影响更大 优化示例 并发形式 优化前 假设优化后 高并发低消耗 每小时10000次,每次20个IO ...

  5. 你知道group by的工作原理和优化思路吗?

    前言 日常开发中,我们经常会使用到group by.亲爱的小伙伴,你是否知道group by的工作原理呢?group by和having有什么区别呢?group by的优化思路是怎样的呢?使用grou ...

  6. sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY

    原生API提供的匹配筛选.排序和分组配置和SQL语法提供的WHERE.ORDER BY和GROUP BY语句的效果是一样的,你可以对匹配结果进行你需要的筛选.排序和分组匹配.例如,如果你要搜索MySQ ...

  7. MySQL - order by和 group by 优化初探

    文章目录 生猛干货 DB Version Table 数据量 案例一 :explain select * from employees where name = 'LiLei' and positio ...

  8. Mysql5.7中子查询时order by与group by合用无效的解决办法

    环境说明: Windows10 专业版64位 MySQL5.7.20 <2015年辛星mysql教程第一本基础操作> P65 原文: 实践内容: 上面的SQL语句没有得到相应的结果.不能用 ...

  9. SAP CRM One Order函数CRM_Object_FILL_OW的设计原理

    标题:SAP CRM One Order函数CRM_FILL_OW的设计原理 There are totally 60 function modules in One order with namin ...

最新文章

  1. Ruby DSL介绍及其在测试数据构造中的使用(1)
  2. 锐捷交换机批量加入vlan_大型网络中如何创建vlan? 不同vlan间如何互通?
  3. 13、创建触发器(CREATE TRIGGER)
  4. bitdock系统错误_BitDock比特工具栏
  5. [USACO12FEB]牛的IDCow IDs
  6. 机器学习算法Python实现:tfidf 特征词提取及文本相似度分类
  7. Rumor CodeForces - 893C(并查集)
  8. thinkphp python_ThinkPhp 5.0 服务器搭建问题总结
  9. 使用HTML5,画布和开放数据创建全球降水(雨)可视化
  10. Boost shared_from_this用法
  11. MVC5为WebAPI添加命名空间的支持
  12. c语言约瑟夫环分析报告,约瑟夫环C语言实现验证报告.doc
  13. linux 卸载opera,Ubuntu中安装Opera 55 浏览器
  14. japi项目需求分析阶段
  15. 【Excel函数】隔行取数并取最大值
  16. 利用python进行图像视觉基础练习
  17. 从搞科研到商业运作:Alberto Broggi 研究计算机视觉的二十年...
  18. 微型计算机是计算器吗,小型计算机和微型计算机是同一个吗?
  19. PHP获取每个周五或周一的日期
  20. 如何检测、清理Greenplum膨胀、垃圾

热门文章

  1. java获取http状态码_java获取Json和http状态码
  2. friendly发音_friendly是什么意思_friendly怎么读_friendly翻译_用法_发音_词组_同反义词_友好的_亲密的-新东方在线英语词典...
  3. MySQL 基础 ———— SAVEPOINT 的应用
  4. 教你如何一篇博客读懂设计模式之—--工厂模式
  5. 一篇博客读懂设计模式之-----策略模式
  6. pythonista_Pythonista20190325伤不起
  7. 面条html5,使用 babel 全家桶模块化古老的面条代码
  8. python print 如何加锁_python中给程序加锁之fcntl模块的使用
  9. python dict hash_【python-dict】dict的使用及实现原理
  10. 技术系统进化法则包括_技术系统进化论,模式五、技术集成以增加系统功能