热线电话:13121318867

登录
2018-10-21 阅读量: 1188
Hive中orderby和sortby排序的区别

Hive基于HADOOP来执行分布式程序的,和普通单机程序不同的一个特点就是最终的数据会产生多个子文件,每个reducer节点都会处理partition给自己的那份数据产生结果文件,这导致了在HADOOP环境下很难对数据进行全局排序,如果在HADOOP上进行order by全排序,会导致所有的数据集中在一台reducer节点上,然后进行排序,这样很可能会超过单个节点的磁盘和内存存储能力导致任务失败。

一种替代的方案则是放弃全局有序,而是分组有序,比如不求全百度最高的点击词排序,而是求每种产品线的最高点击词排序。

使用order by会引发全局排序:

select * from baidu_click order by click desc;

使用distribute和sort进行分组排序:

select * from baidu_click distribute by product_line sort by click desc;

0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子