Hive中Group by 与sort by 的区别
1、ORDER BY 用于全局排序,就是最指定的所有排序键进行全局排序,使用ORDER BY 的查询语句,最后会用一个Reduce Task来完成全局排序。
2、sort by用于分区内排序,即每个Reduce 任务内排序。则sort by 只保证每个reduce的输出有序,不能保证全局有序。
3、distribute by (字段)根据指定的字段将数据分到不同的reducer,且分发算法是hash散列。
4、cluster by(字段)处理具有Distribute by 的功能外,还兼具sort by 的排序功能。
因此,如果分桶和sort字段是同一个时,此时,cluster by =distribute by + sort by