hive中的几种排序的区别
2018-01-17 20:22
155 查看
整理hive中遇到的几种排序的函数 特性、区别记上一笔
一般两者结合使用的场景如下:
小文件很多
map文件大小不均
文件内容很大
reduce接受的文件大小不均
局限性就是:只能进行倒序排序
hive的排序
hive的排序有四种: order by ,sort by,distribute by,cluster byorder by
order by 是最常用的一种排序,全局排序,所有的数据会在一个reducer上面进行排序,所以一般使用这个函数进行排序的时候速度较慢。需要指出来的是,在strict模式下,order by 后面是必须加上limit 进行限制的。sort by
sort by 是在进去reducer之前进行的排序,并不是全局排序。只能保证在进入同一个reducer里面的数据是有序的。有别于order by ,sort by可以指定reducer的个数,然后再对reducer里面的数据再排序,也可以得到全局的排序结果。distribute by
distribute by 一般是配合sort by 使用的。distribute 是控制在map端的数据拆分到那个reducer去进行聚合。在某些情况下,需要控制某行记录大某个reducer上。一般两者结合使用的场景如下:
小文件很多
map文件大小不均
文件内容很大
reduce接受的文件大小不均
cluster by
cluster除了具备distribute by的功能之外还具有sort by的功能;局限性就是:只能进行倒序排序
相关文章推荐
- Hadoop Hive 中几种排序方法的区别与比较
- hive几种排序
- hive排序:distribute by 、sort by 、cluster by 、order by 区别
- 几种排序的联系与区别
- HIVE中的几种排序
- Hive的几种排序
- HLG 几种简单排序方法 && sort与qsort的区别
- hive 排序 分组计数后排序 几种不同函数的效果
- 几种排序的区别和说明
- 排序sort与qsort的区别
- 算法:常见的几种排序
- Hive数据导入导出的几种方式
- 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
- 快笑死,每个人出生的时候,身体都会有“金木水火土雷风”这几种属性之一的特性——不过在领悟天道成了神之后,成神之人的属性就会消失,再无任何区别。我的特性还是在于做工程
- Java中super的几种用法并与this的区别
- Java实现几种常见排序方法
- 模态对话框与非模态对话的几种销毁方法与区别
- 排序的几种算法
- hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换)
- hive-内部表与外部表的区别