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;
相关推荐
时差95315 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
苍老流年15 小时前
Hive中各种Join的实现
数据仓库·hive·hadoop
静听山水16 小时前
Hive:UDTF 函数
hive
EDG Zmjjkk17 小时前
Hive 查询(详细实操版)
数据仓库·hive·hadoop
lzhlizihang18 小时前
【Hive sql 面试题】求出各类型专利top 10申请人,以及对应的专利申请数(难)
大数据·hive·sql·面试题
Hsu_kk18 小时前
Hive 查询各类型专利 Top 10 申请人及对应的专利申请数
数据仓库·hive·hadoop
静听山水18 小时前
Hive 的数据存储单元结构
hive
大数据编程之光18 小时前
Hive 查询各类型专利 top10 申请人及专利申请数
大数据·数据仓库·hive·hadoop
杰克逊的日记18 小时前
Hive详解
数据仓库·hive·hadoop
上辈子杀猪这辈子学IT18 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian