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;
相关推荐
酷爱码34 分钟前
如何通过python连接hive,并对里面的表进行增删改查操作
开发语言·hive·python
Debug_TheWorld3 小时前
Hive学习
hive
weixin_307779135 小时前
Azure Data Factory ETL设计与调度最佳实践
数据仓库·性能优化·云计算·azure·etl
元6337 小时前
spark和hadoop之间的对比和联系
大数据·hadoop·spark
哥不是小萝莉9 小时前
Hadoop和Spark大数据挖掘与实战
hadoop·ai·spark
lix的小鱼11 小时前
spark和Hadoop之间的对比和联系
大数据·hadoop·spark
晴天彩虹雨13 小时前
Flink 数据清洗与字段标准化最佳实践
大数据·数据仓库·flink
TTBIGDATA13 小时前
如何将 Apache Hudi 接入 Ambari?完整部署与验证指南
大数据·hadoop·ambari·hudi·bigtop·湖仓·自定义组件集成
IT成长日记16 小时前
【Hive入门】Hive数据导出完全指南:从HDFS到本地文件系统的专业实践
hive·hadoop·hdfs·数据导出
向上的车轮17 小时前
数据湖DataLake和传统数据仓库Datawarehouse的主要区别是什么?优缺点是什么?
数据仓库