Hive order by、sort by、partition by、

1 Order by

功能:將查詢結果集中的所有數據,進行全局排序。
底層原理:將查詢結果中的所有數據,都放在一個reducer中,進行全局排序。
特點:因爲只有一個reducer進行排序,當數據量很大時會非常慢。

2 Sort by

功能:數據發送到多個reducer,sort by 在每個reducer內進行排序,即進行局部排序。
特點
在order by之前,可以先進行order by,這樣能夠提高後面全局排序的效率。

3 Partition by

功能:根據某一列將數據分組,常與order by 在over中組合使用。(注意是分組,不是分到多個reducer中,所以與order by一起使用,而不是和sort by一起。)
與group by的區別是,partition by返回分組中的所有數據,而group by 與聚合函數一起使用,往往只返回一條數據。

4 distribute by col

功能:col相同行,分發到同一個reducer中。此時常配合sort by使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章