Order By(全局排序)

Order By 用于结果集的排序。也可以称之为全局排序。对于 MR 任务来说,如果我们使用了 Order By 排序,意味着MR 任务只会有一个 Reducer 参与排序。

在 Hive 中执行脚本时,我们可以通过set mapreduce.job.reduces = 10 来设置 reduce 的个数为 10。但只要使用了 Order By 排序,即使设置了 10 个reduce ,也是不会生效的。Order By 就是一个全局排序,只能用一个 Reduce 进行全局排序。

Sort By(每个reduce内部排序)

Sort By:对于大规模的数据集 order by 的效率非常低。在很多情况下,并不需要全局排序,此时可以使用 sort by。Sort by 在每个 Reducer 内部进行排序,即使每个 reduce 内部是有序的,但是对于全局结果集 来说也还是乱序的。

Distribute By(指定分区规则)

Distribute by 是用来指定Distribute By 是用来指定分区规则的,它结合 Sort By 一起使用。上文介绍的单独使用 Sort By 对部门编号排序,因为没有指定分区规则,Sort By 则随机分区排序。Distribute By 类似 MR 中 partition(自定义分区),进行分区,结合 sort by 使用。通常是先用 Distribute By 指定分区规则,然后再使用 Sort By 对分区内数据排序。

Cluster By(分区字段和排序字段相同时使用)

当 distribute by 和 sorts by 字段相同时,可以使用 cluster by 方式。

cluster by 除了具有 distribute by 的功能外还兼具 sort by 的功能。但是排序只能是升序排序,不能指定排序规则为 ASC 或者 DESC。Cluster by 不常用的。

【hive】order by、sort by、distribute by、cluster by的区别相关推荐

  1. Hive中的四种排序方式(order by,sort by,distribute by,cluster by)使用与区别详解

    在平时的Hive数仓开发工作中经常会用到排序,而Hive中支持的排序方式有四种,这里结合具体的案例详细介绍一下他们的使用与区别: order by sort by distribute by clus ...

  2. 4种排序方式比较:order by, sort by, distribute by, cluster by

    文章记录了4种排序方式:order by, sort by, distribute by, cluster by 总结: order by 全局排序,只有一个 Reducer,通过order对字段进行 ...

  3. hive中order by,sort by, distribute by, cluster by作用以及用法

    1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会 ...

  4. Hive中的order by ,sort by ,distribute by , cluster by 区别

    #Hive的本质就是MapReduce #设置reduce个数 set mapreduce.job.reduces=num  //设置num数量的reduce #查看设置reduce个数 set ma ...

  5. hive四种排序Order By , Sort By ,Distribute By ,Cluster By

    前文 Hive的本质是MapReduce,MapReduce中如何排序的?? MapReduce分为几种: 1.全排序order By: 结果只有一个(也就是只有一个分区),所有的数据整体有序. 2. ...

  6. order by,sort by,distribute by,cluster by的区别是什么?

    前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...

  7. hive 中排序order by,sort by,distribute by使用

    前提:hive 中使用的排序有oder by, sort by,distribute By,cluster By 具体使用如下 测试数据: 0: jdbc:hive2://hadoop-03:1000 ...

  8. hive笔记(五):查询、排序-join语句/连接/分区/sort by/distribute by/cluster by

    目录 查询 Join语句 等值Join 表的别名 内连接 左外连接 右外连接 满外连接 多表连接 笛卡尔集 排序 全局排序 按照别名排序 多个列排序 reduce内部排序(sort by) 分区(di ...

  9. order by 、sort by、distribute by、group by、cluster by的区别

    转载:https://www.cnblogs.com/huxinga/p/7688376.html 转载:https://blog.csdn.net/SunWuKong_Hadoop/article/ ...

  10. Hive中的排序:order by/sort by/cluster by

    Hive中关于排序的几种方法,有必要深入理解其原理. Order by 全局排序 1)Order By:全局排序,只有一个 Reducer,即使我们在设置set reduceer的数量为多个,但是在执 ...

最新文章

  1. volatile 和 mutable 关键字
  2. Spring Boot注入自定义properties文件配置
  3. java怎么清空表释放空间_Linux 删除文件未释放空间问题处理,下清空或删除大文件...
  4. websocketpp 打印发送数据
  5. Readiness 探测 - 每天5分钟玩转 Docker 容器技术(144)
  6. ethtool如何让接口闪灯_如何解决专业家庭影院与卡拉OK的声学问题?
  7. 如何成为一名优秀的web前端工程师
  8. python物体跟着鼠标走_用Python写一个跟随鼠标运动的自定义窗口
  9. Serverless 的前世今生
  10. 千万级数据清洗ETL设计方案
  11. matlab好看的字体,最佳50个新鲜+漂亮的字体(2011)
  12. DbVisualizer 10破解之后,在输入框使用光标无法准确定位字符
  13. 阿里某新员工感慨:入职阿里三个月生活一团糟,天天想离职
  14. Pandoc中使用Reveal-js制作幻灯片
  15. 16k a4_16开纸是多大(185mmx260mm),相当于1张A4纸大小
  16. jQuery面试题答案
  17. The error may involve mapper.UserMapper.AddUser-Inline
  18. vs 2019使用Installer Project制作安装包的问题
  19. 自己电脑做服务器需要装什么系统,自己电脑做服务器需要什么配置
  20. String的比较,“==”比较,equals()比较

热门文章

  1. [InnoDB] [FATAL] Tablespace id is xx in the data dictionary but in file .\test\t3.ibd it is xx!
  2. office 2003 完全 卸载 工具 来自微软官方
  3. Win10+Anaconda+Pytorch+PyCharm 环境搭建
  4. win10恢复出厂设置_电脑怎么恢复出厂设置
  5. EVE-NG 透明模式 Transparent
  6. s7-200使用高速计数器时,出现看门狗错误-L48
  7. 脉冲电子围栏在周界安防中的作用
  8. jQuery 一次定时器_史上最全的js、jQuery面试题
  9. Win11怎么更改管理员头像?Win11更换管理员头像的方法
  10. 【OpenCV】 OpenCV-4.1.1 + Visual Studio 2015 安装教程