Hive高級查詢(group by、 order by、 join等) - 琴弦上、漫步 - 博客頻道 - CSDN.NET
http://blog.csdn.net/scgaliguodong123_/article/details/46944519
離線技術處理總結 - 簡書
http://www.lxweimin.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.lxweimin.com/p/257907195f3e著作權歸作者所有,轉載請聯系作者獲得授權,并標注“簡書作者”。