大数据之Hive:DML数据操作(七)

1.排序
1-1. 全局排序(Order By)
Order By:全局排序,只有一个Reducer
1.使用 ORDER BY 子句排序
ASC(ascend): 升序(默认)
DESC(descend): 降序
2.ORDER BY 子句在SELECT语句的结尾
3.案例实操
(1)查询员工信息按工资升序排列

hive (default)> select * from emp order by sal;

(2)查询员工信息按工资降序排列

hive (default)> select * from emp order by sal desc;

1-2. 按照别名排序
按照员工薪水的2倍排序

hive (default)> select ename, sal*2 twosal from emp order by twosal;

1-3. 多个列排序
按照部门和工资升序排序

hive (default)> select ename, deptno, sal from emp order by deptno, sal ;

1-4 .每个MapReduce内部排序(Sort By)
Sort by为每个reducer产生一个排序文件。每个Reducer内部进行排序,对全局结果集来说不是排序。
1.设置reduce个数

hive (default)> set mapreduce.job.reduces=3;

2.查看设置reduce个数

hive (default)> set mapreduce.job.reduces;

3.根据部门编号降序查看员工信息

hive (default)> select * from emp sort by deptno desc;

4.将查询结果导入到文件中(按照部门编号降序排序)

hive (default)> insert overwrite local directory '/opt/module/datas/sortby-result'
 select * from emp sort by deptno desc;

猜你喜欢

转载自blog.csdn.net/weixin_43597208/article/details/112596110