Order By、Sort By、distribute by 、cluster by的区别

Order By、Sort By、distribute by 、cluster by的区别,第1张

Order By、Sort By、distribute by 、cluster by的区别 Order By

order by 排序出来的数据是全局有序的,在hive mr引擎中将会只有1个reduce

Sort By

sort by 排序出来的数据是局部有序的,但是全局无序。即partition内部是有序的,但是partition与partition之间的数据是没有顺序关系的

distribute by

类似 MapReduce 中 partition,采集 hash 算法,在 map 端将查询的结果中 hash 值相同的结果分发到对应的 reduce 文件中。需要结合sort by使用。
注意: Hive要求 distribute by 语句要写在 sort by 语句之前。

cluster by

当 distribute by 和 sort by 字段相同时,可以使用 cluster by 方式
除了 distribute by 的功能外,还会对该字段进行排序,所以 cluster by = distribute by + sort by

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5700196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存