-
order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。
-
sort by不是全局排序,其在数据进入reducer前完成排序,它是局部有序,全局无序,但是在partition内部是有序的。
因此,如果用sort by进行排序,并且设置mapred.reduce.tasks>1, 则sort by只保证每个reducer的输出有序,不保证全局有序。
Hive 的sort by和order by的区别
最新推荐文章于 2024-03-30 10:37:48 发布