Hive高级查询(group by、 order by、 join等) - 琴弦上、漫步 - 博客频道 - CSDN.NET
http://blog.csdn.net/scgaliguodong123_/article/details/46944519
离线技术处理总结 - 简书
http://www.jianshu.com/p/257907195f3e
hive 中 Order by, Sort by ,Dristribute by,Cluster By 的作用和对比
order by
按照某些字段排序样例
select col1,other...from tablewhere conditioorder by col1,col2 [asc|desc]
注意order by后面可以有多列进行排序,默认按字典排序order by为全局排序order by需要reduce操作,且只有一个reduce,与配置无关。数据量很大时,慎用。
Sort排序
sort by col – 按照col列把数据排序
select col1,col2 from Mdistribute by col1sort by col1 asc,col2 desc
两者结合出现,确保每个reduce的输出都是有序的。
distribute by与group by对比
都是按key值划分数据都使用reduce操作唯一不同的是distribute by只是单纯的分散数据,而group by把相同key的数据聚集到一起,后续必须是聚合操作。
order by与sort by 对比
order by是全局排序sort by只是确保每个reduce上面输出的数据有序。如果只有一个reduce时,和order by作用一样。
cluster by
把有相同值的数据聚集到一起,并排序。效果等价于distribute by col sort by colcluster by col <==> distribute by col sort by col
文/MichaelFly(简书作者)原文链接:http://www.jianshu.com/p/257907195f3e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。