Hive中order by、sort by、distribute by、cluster by的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GUANYAQI1996/article/details/78725274

--------Hive的底层是MapReduce--------

order by:对全局数据的一个排序,仅仅只有一个reduce。


sort  by :有多个reduce,对每一个reduce内部数据进行排序,全局结果集没有排序 。

设置reduce的个数:set  mapreduce.job.reduces=[number]


distribute by :类似于MapReduce中partition的功能,对数据进行分区,结合sort by进行使用。但是必须要在sort by之前,因为要先分区,再排序。


cluster by: sort by  和distribute  by的结合,当sort by和distribute by字段相同时使用  cluster  by 。

猜你喜欢

转载自blog.csdn.net/GUANYAQI1996/article/details/78725274