Hive 四种排序方式的区别?

Johngo学长 Hive 155
  1. order by
    order by 是要对输出的结果进行全局排序,这就意味着只有一个reducer才能实现(多个reducer无法保证
    全局有序)但是当数据量过大的时候,效率就很低。如果在严格模式下(hive.mapred.mode=strict),则必须配合limit使用;
  2. sort by
    sort by 不是全局排序,只是在进入到reducer之前完成排序,只保证了每个reducer中数据按照指定字段的有序性,是局部排序。配置mapred.reduce.tasks=[nums]可以对输出的数据执行归并排序。可以配合limit使 用,提高性能;
  3. distribute by
    distribute by 指的是按照指定的字段划分到不同的输出reduce文件中,和sort by一起使用时需要注意, distribute by 必须放在前面;
  4. cluster by
    cluster by 可以看做是一个特殊的distribute by+sort by,它具备二者的功能,但是只能实现倒序排序的方式, 不能指定排序规则为 asc 或者 desc。

回复

我来回复
  • 暂无回复内容

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总