排序
排序就是根据对查询后返回的结果做排序,在hive中,排序要走mapreduce所以,可以出现两种排序一种是全排,一种是内部排序,前者类似于只有一个分区,所有数据都有序,后者类似有多个分区,分区内有序。
全局排序
select 语句 order by ASC|DESC
, 跟SQL一样,可以指定多个order by的条件,做二次排序
分区排序
分区是hive中的特色,分区的出现实质是reduce的结果出现分区,所以分区排序就是使得分区中的数据有序。Usage(select 语句 sort by ASC|DESC
)
内部排序
内部排序的出现也是由于hive中的分区,通过内部排序可以实现分区的之间的和分区之内的排序 select 语句 distribute by 字段一 sort by 字段二 ASC|DESC
分区加内部排序
分区加内部排序是上面两个字段一和字段二一致时可以使用,注意不能使用ASC|DESC,select 语句 cluster by