大数据全系列 教程
1869个小节阅读:465.3k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
全局排序,hql转换后的mr左右只有一个reduce任务。当数据量比较大时order by就要慎用,很有可能导致reduce需要较长的时间才能完成,或者完不成。
格式: order by 字段名 [asc|desc]
默认是asc 升序,desc表示降序
位置:
order by语句通常防止hql语句的最后。
案例实战:
xxxxxxxxxx
hive> select * from emp order by sal;
Query ID = root_20211118103903_c519efbd-9615-431b-9a56-730616a097ba
Total jobs = 1
......
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
......
7369 smith clerk 7902 1980-12-17 800.0 NULL 20
7900 james clerk 7698 1981-12-3 950.0 NULL 30
7876 adams clerk 7788 1987-5-23 1100.0 NULL 20
7521 ward salesman 7698 1981-2-22 1250.0 500.0 30
7654 martin salesman 7698 1981-9-28 1250.0 1400.0 30
7934 miller clerk 7782 1982-1-23 1300.0 NULL 10
7844 turner salesman 7698 1981-9-8 1500.0 0.0 30
7499 allen salesman 7698 1981-2-20 1600.0 300.0 30
7782 clark manager 7839 1981-6-9 2450.0 NULL 10
7698 blake manager 7839 1981-5-1 2850.0 NULL 30
7566 jones manager 7839 1981-4-2 2975.0 NULL 20
7788 scott analyst 7566 1987-4-19 3000.0 NULL 20
7902 ford analyst 7566 1981-12-3 3000.0 NULL 20
7839 king president NULL 1981-11-17 5000.0 NULL 10
Time taken: 33.587 seconds, Fetched: 14 row(s)
# 可以使用列的别名进行排序
hive> select empno,ename,sal*12 year_sal from emp order by year_sal;
7369 smith 9600.0
7900 james 11400.0
7876 adams 13200.0
7521 ward 15000.0
7654 martin 15000.0
......
# 多列排序
hive> select empno,ename,deptno,sal from emp order by deptno,sal;
7934 miller 10 1300.0
7782 clark 10 2450.0
7839 king 10 5000.0
7369 smith 20 800.0
7876 adams 20 1100.0
7566 jones 20 2975.0
7788 scott 20 3000.0
7902 ford 20 3000.0
7900 james 30 950.0
7654 martin 30 1250.0
7521 ward 30 1250.0
7844 turner 30 1500.0
7499 allen 30 1600.0
7698 blake 30 2850.0
#先按照部门编号从小到大排序,部门相同时,在按照sal从小到大排序
hive> select empno,ename,deptno,sal from emp order by sal,deptno;
7369 smith 20 800.0
7900 james 30 950.0
7876 adams 20 1100.0
7521 ward 30 1250.0
7654 martin 30 1250.0
7934 miller 10 1300.0
7844 turner 30 1500.0
7499 allen 30 1600.0
7782 clark 10 2450.0
7698 blake 30 2850.0
7566 jones 20 2975.0
7788 scott 20 3000.0
7902 ford 20 3000.0
7839 king 10 5000.0
#先按照sal从小到大排序,sal相同时,在按照deptno从小到大排序
、