大数据全系列 教程
1869个小节阅读:467.1k
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
sort by作用:在每一个reduce task任务内部排序,在大量数据集时使用order by存在着效率低下的问题,很多场景中并不需要全局排序。
每个reduce任务都会对应的结果文件part-r-xxxxxx,在每一个结果文件中都是有序的,全局是无序的。
通过set命令设置reduce任务的数量,有效期是直到下次修改该参数的值或hive连接关闭:
xxxxxxxxxx
# set 参数=value; 设置参数的值
hive> set mapreduce.job.reduces=3;
# set 参数; 查看产生的值
hive> set mapreduce.job.reduces;
mapreduce.job.reduces=3
hive> select * from emp sort by deptno desc;
Query ID = root_20211118105647_6964a47b-fc4b-4907-8f35-ea3c9465ed59
Total jobs = 1
Launching Job 1 out of 1
......
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 3
7844 turner salesman 7698 1981-9-8 1500.0 0.0 30
7698 blake manager 7839 1981-5-1 2850.0 NULL 30
7654 martin salesman 7698 1981-9-28 1250.0 1400.0 30
7788 scott analyst 7566 1987-4-19 3000.0 NULL 20
7839 king president NULL 1981-11-17 5000.0 NULL 10
7782 clark manager 7839 1981-6-9 2450.0 NULL 10
7521 ward salesman 7698 1981-2-22 1250.0 500.0 30
7499 allen salesman 7698 1981-2-20 1600.0 300.0 30
7900 james clerk 7698 1981-12-3 950.0 NULL 30
7876 adams clerk 7788 1987-5-23 1100.0 NULL 20
7566 jones manager 7839 1981-4-2 2975.0 NULL 20
7934 miller clerk 7782 1982-1-23 1300.0 NULL 10
7902 ford analyst 7566 1981-12-3 3000.0 NULL 20
7369 smith clerk 7902 1980-12-17 800.0 NULL 20
结果不够直观,将之后的结果文件下载到本地。
xxxxxxxxxx
hive>insert overwrite local directory
'/opt/sortbyresult'
select * from emp sort by deptno desc;
node4查看文件:
xxxxxxxxxx
[root@node4 ~]# cd /opt/sortbyresult/
[root@node4 sortbyresult]# pwd
/opt/sortbyresult
[root@node4 sortbyresult]# ls
000000_0 000001_0 000002_0
[root@node4 sortbyresult]# ll
总用量 12
-rw-r--r-- 1 root root 288 11月 18 11:01 000000_0
-rw-r--r-- 1 root root 282 11月 18 11:01 000001_0
-rw-r--r-- 1 root root 91 11月 18 11:01 000002_0
[root@node4 sortbyresult]# cat -A 000000_0
7844^Aturner^Asalesman^A7698^A1981-9-8^A1500.0^A0.0^A30$
7698^Ablake^Amanager^A7839^A1981-5-1^A2850.0^A\N^A30$
7654^Amartin^Asalesman^A7698^A1981-9-28^A1250.0^A1400.0^A30$
7788^Ascott^Aanalyst^A7566^A1987-4-19^A3000.0^A\N^A20$
7839^Aking^Apresident^A\N^A1981-11-17^A5000.0^A\N^A10$
7782^Aclark^Amanager^A7839^A1981-6-9^A2450.0^A\N^A10$
[root@node4 sortbyresult]# cat -A 000001_0
7521^Award^Asalesman^A7698^A1981-2-22^A1250.0^A500.0^A30$
7499^Aallen^Asalesman^A7698^A1981-2-20^A1600.0^A300.0^A30$
7900^Ajames^Aclerk^A7698^A1981-12-3^A950.0^A\N^A30$
7876^Aadams^Aclerk^A7788^A1987-5-23^A1100.0^A\N^A20$
7566^Ajones^Amanager^A7839^A1981-4-2^A2975.0^A\N^A20$
7934^Amiller^Aclerk^A7782^A1982-1-23^A1300.0^A\N^A10$
[root@node4 sortbyresult]# cat -A 000002_0
7902^Aford^Aanalyst^A7566^A1981-12-3^A3000.0^A\N^A20$
7369^Asmith^Aclerk^A7902^A1980-12-17^A800.0^A\N^A20$