Hive order by、sort by、partition by、

1 Order by

功能:将查询结果集中的所有数据,进行全局排序。
底层原理:将查询结果中的所有数据,都放在一个reducer中,进行全局排序。
特点:因为只有一个reducer进行排序,当数据量很大时会非常慢。

2 Sort by

功能:数据发送到多个reducer,sort by 在每个reducer内进行排序,即进行局部排序。
特点
在order by之前,可以先进行order by,这样能够提高后面全局排序的效率。

3 Partition by

功能:根据某一列将数据分组,常与order by 在over中组合使用。(注意是分组,不是分到多个reducer中,所以与order by一起使用,而不是和sort by一起。)
与group by的区别是,partition by返回分组中的所有数据,而group by 与聚合函数一起使用,往往只返回一条数据。

4 distribute by col

功能:col相同行,分发到同一个reducer中。此时常配合sort by使用。

你可能感兴趣的:(Hive,Hive,partition)