order by 排序出来的数据是全局有序的,在hive mr引擎中将会只有1个reduce
sort by 排序出来的数据是局部有序的,但是全局无序。即partition内部是有序的,但是partition与partition之间的数据是没有顺序关系的
类似 MapReduce 中 partition,采集 hash 算法,在 map 端将查询的结果中 hash 值相同的结果分发到对应的 reduce 文件中。需要结合sort by使用。
注意: Hive要求 distribute by 语句要写在 sort by 语句之前。
当 distribute by 和 sort by 字段相同时,可以使用 cluster by 方式
除了 distribute by 的功能外,还会对该字段进行排序,所以 cluster by = distribute by + sort by
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)