1、order by 会对输入做全局排序,因此只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。

2、sort by不是全局排序,其在数据进入reducer前完成排序。因此,如果用sort by进行排序,并且设置mapred.reduce.tasks>1,则sort by只保证每个reducer的输出有序,不保证全局有序。

3、distribute by(字段)根据指定的字段将数据分到不同的reducer,且分发算法是hash散列。

4、Cluster by(字段) 除了具有Distribute by的功能外,还会对该字段进行排序。

因此,如果分桶和sort字段是同一个时,此时,cluster by = distribute by + sort by

 

分桶之前 先进行分桶设置

Hive 分桶介绍(大数据学习19)

创建一个表,该表显示分四个区并每个区局部排序

Hive 分桶介绍(大数据学习19)

创建第二个表,并导入数据

 Hive 分桶介绍(大数据学习19)

先排序查询,

Hive 分桶介绍(大数据学习19)

在进行分桶插入,先从其他的表中查出来然后在插入这个表中

Hive 分桶介绍(大数据学习19)

打开浏览器查看 是否已经分区

Hive 分桶介绍(大数据学习19)

查看分区之后的数据

 

Hive 分桶介绍(大数据学习19)

 

相关文章:

  • 2022-01-07
  • 2021-10-01
  • 2021-12-03
  • 2022-01-08
  • 2021-10-07
  • 2021-12-15
  • 2021-04-26
  • 2021-10-16
猜你喜欢
  • 2021-08-07
  • 2021-07-05
  • 2021-08-18
  • 2021-10-09
  • 2021-09-23
  • 2021-11-21
  • 2022-12-23
相关资源
相似解决方案