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;
相关推荐
万能小锦鲤14 小时前
《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
java·hadoop·eclipse·hbase·shell·vmware·实验报告
天翼云开发者社区20 小时前
数据治理的长效机制
大数据·数据仓库
王小王-1231 天前
基于Hadoop与LightFM的美妆推荐系统设计与实现
大数据·hive·hadoop·大数据美妆推荐系统·美妆商品用户行为·美妆电商
一切顺势而行1 天前
hadoop 集群问题处理
大数据·hadoop·分布式
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告七 熟悉 Spark 初级编程实践
hive·hadoop·ubuntu·flink·spark·vmware·实验报告
项目題供诗2 天前
Hadoop(二)
大数据·hadoop·分布式
Leo.yuan2 天前
ETL还是ELT,大数据处理怎么选更靠谱?
大数据·数据库·数据仓库·信息可视化·etl
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告五 熟悉 Hive 的基本操作
hive·hadoop·ubuntu·eclipse·vmware·实验报告·hiveql
張萠飛2 天前
flink sql如何对hive string类型的时间戳进行排序
hive·sql·flink
張萠飛2 天前
flink sql读hive catalog数据,将string类型的时间戳数据排序后写入kafka,如何保障写入kafka的数据是有序的
hive·sql·flink