hive排序

目录

[order by (全局排序asc ,desc)](#order by (全局排序asc ,desc))

[sort by(reduce 内排序)](#sort by(reduce 内排序))

[Distribute by(分区排序)](#Distribute by(分区排序))

[Cluster By(当 distribute by 和 sorts by 字段相同时 ,可以使用 )](#Cluster By(当 distribute by 和 sorts by 字段相同时 ,可以使用 ))


order by (全局排序asc ,desc)
sql 复制代码
INSERT OVERWRITE LOCAL DIRECTORY '/home/test2'
ROW FORMAT DELIMITED FIELDS TERMINATED by '\t'
select * from emp_partition order by emp_no desc;
sort by(reduce 内排序)

--根据设置的reduce个数,如果是2个reduce,则最少生成2个文件,每个reduce内部排序

--设置reduce个数
set mapred.reduce.tasks; -- (默认 -1 为无限制)
set mapred.reduce.tasks = 2; -- 设置 reduce 个数

sql 复制代码
INSERT OVERWRITE LOCAL DIRECTORY '/home/test2'
ROW FORMAT DELIMITED FIELDS TERMINATED by '\t'
select * from emp_partition sort by emp_no desc ;
Distribute by(分区排序)

类似于partition,进行分区,只是分成不同文件,文件中没有排序,生成文件受reduce数量影响

一般和sort by一起使用,可以每个分区内排序

sql 复制代码
INSERT OVERWRITE LOCAL DIRECTORY '/home/test2'
ROW FORMAT DELIMITED FIELDS TERMINATED by '\t'
select * from emp_partition Distribute by gender sort by emp_no desc ;
Cluster By(当 distribute by 和 sorts by 字段相同时 ,可以使用 )

除具有distribute by 的功能,还有 sort by的功能, 但只能升序

sql 复制代码
INSERT OVERWRITE LOCAL DIRECTORY '/home/test2'
ROW FORMAT DELIMITED FIELDS TERMINATED by '\t'
select * from emp_partition Cluster By emp_no;
相关推荐
Irene199117 小时前
在 WSL Ubuntu 上安装和使用 Hive
linux·hive·ubuntu
二宝哥17 小时前
大数据之安装Hadoop3.1.4
大数据·hadoop
Irene199117 小时前
Windows 11 WSL Ubuntu 环境:安装 Hadoop 完整指南
hadoop·ubuntu
Irene199118 小时前
(课堂笔记)Hive 基础
hive·hadoop
nassi_1 天前
对AI工程问题的一些思考
大数据·人工智能·hadoop
云策数链2 天前
ERP报表系统设计与数据仓库
数据仓库·erp·用友·云策数链
Irene19912 天前
(课堂笔记)hadoop 基础使用
hadoop
水火既济__2 天前
加快hive效率
数据仓库·hive·hadoop
真上帝的左手3 天前
19. 大数据-数据仓库简介
大数据·数据仓库
lifewange4 天前
Hive 数据库 增删改 完整操作指南
数据库·hive·hadoop