Hive中常见的高级查询包括:group by、Order by、join、distribute by、sort by、cluster by、Union all。今天我们来看看order by操作,Order by表示按照某些字段排序,语法如下:
select col,col2...
from tableName
where condition
order by col1,col2 [asc|desc]
注意:
(1):order by后面可以有多列进行排序,默认按字典排序。
(2):order by为全局排序。
(3):order by需要reduce操作,且只有一个reduce,无法配置(因为多个reduce无法完成全局排序)。
order by操作会受到如下属性的制约:
set hive.mapred.mode=nonstrict; (default value / 默认值)
set hive.mapred.mode=strict;