Hive中的四种排序
一、Order by
二、Sort by
sort by不是全局排序,其在数据进入reducer前完成排序。因此,如果用sort by进行排序,并且设置mapred.reduce.tasks>1,则sort by只保证每个reducer的输出有序,不保证全局有序。sort by不受 hive.mapred.mode 是否为strict ,nostrict 的影响。sort by的数据只能保证在同一reduce中的数据可以按指定字段排序。使用sort by你可以指定执行的reduce个数(set mapred.reduce.tasks=<number>),对输出的数据再执行归并排序,即可以得到全部结果。
三、distribute by
distribute by是控制在map端如何拆分数据给reduce端的。hive会根据distribute by后面列,对应reduce的个数进行分发,默认是采用hash算法。sort by为每个reduce产生一个排序文件。在有些情况下,你需要控制某个特定行应该到哪个reducer,这通常是为了进行后续的聚集操作。distribute by刚好可以做这件事。因此,distribute by经常和sort by配合使用。
注:Distribute by和sort by的使用场景
1.Map输出的文件大小不均。
2.Reduce输出文件大小不均。
3.小文件过多。
4.文件超大。
四、Cluster by
Cluster by除了具有distribute by的功能外还兼具sort by的功能。但是排序只能是倒叙排序,不能指定排序规则为ASC或者DESC。
Hive中的四种排序相关推荐
- Hive中的四种排序方式(order by,sort by,distribute by,cluster by)使用与区别详解
在平时的Hive数仓开发工作中经常会用到排序,而Hive中支持的排序方式有四种,这里结合具体的案例详细介绍一下他们的使用与区别: order by sort by distribute by clus ...
- HOL中的四种排序,Order By、Sort By、Distribute By、Cluster By
1.全局排序(Order By) Order By:全局排序,一个Reducer 1.使用 ORDER BY 子句排序 ASC(ascend): 升序(默认) DESC(descend): 降序 2. ...
- Hive中的几种排序方式
Order By Order By 会对输入做全局的排序,所以只会有一个reduce,这样的话在大量数据面前查询效率较低,费时较长 select * from salary order by sala ...
- 061 hive中的三种join与数据倾斜
一:hive中的三种join 1.map join 应用场景:小表join大表 一:设置mapjoin的方式: )如果有一张表是小表,小表将自动执行map join. 默认是true. <pro ...
- 大数据之Hive:hive中的四个by
目录 1.前言 2.order by 3.sort by 4.distribute by 5.Cluster By 6.实际需求 1.前言 hive中的四个by分别为order by,sort by, ...
- php主要算法设计,四种排序算法设计(PHP)
标签 详细分析 /** * 四种排序算法设计(PHP) * * 1) 插入排序(Insertion Sort)的基本思想是: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当 ...
- 比较排序算法的时间复杂度 c语言,c语言四种排序算法时间复杂度比较(10页)-原创力文档...
1.方案设计: 我这次实验通过随机生成30000个随机数,把随机数存到数组中,用这同一组随机数据分别进行四种排序,直接插入排序.直接选择排序.冒泡排序和快速排序.还通过了调用txt文件把运算所需时间导 ...
- golang实现四种排序(快速,冒泡,插入,选择)
本文系转载 原文地址: http://www.limerence2017.com/2019/06/29/golang07/ 前面已经介绍golang基本的语法和容器了,这一篇文章用golang实现四种 ...
- 四种排序:选择,插入,冒泡,快速排序原理及其对应的时间、空间复杂度解析
四种排序:选择,插入,冒泡,快速排序原理及其对应的时间空间复杂度 首先,在了解四种排序之前,让我们来了解一下什么是时间复杂度和空间复杂度. 时间复杂度:算法的时间复杂度是一个函数,它定性描述该算法的运 ...
最新文章
- 系统启动 之 Linux系统启动概述(2)
- idea高效找出全部未被使用的代码
- java组合数打印出结果_Java打印一组数据中,抽取固定数目的数的所有可能组合...
- linux qt计算器,QT 计算器小程序
- easyui小清新俺也晒晒 视频管理软件bs项目
- Atitit onvif协议获取rtsp地址播放java语言attilx总结
- 用几何画板演示高尔顿钉板动画
- 给Jetson Nano更换eMMC闪存(扩容)
- Civil 3D API二次开发学习指南
- linux u盘 中毒,linux对中毒u盘分区和格式化
- php 公众号 欢迎,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?
- 【正则表达式】从字符串中提取数字
- Python的数据库
- 虚拟机VMware Workstation安装使用教程
- [LabVIEW应用]Labview如何将PC机和仪器设备连接到一起
- 【考研英语语法】状语从句精讲
- 收支系统(超超超简版)1.0
- 去哪儿网——项目管理平台助力研发效率提升
- 【Qt】disconnect一个lambda匿名函数
- Windows找不到文件c:program files怎么办?