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 小时前
【从零开始学习数据仓库 | 第二篇】: 拉链表 & 数仓分层
大数据·数据仓库·学习
NiceZack16 小时前
Hadoop 部署全流程教程:从新装 CentOS 到伪分布式与完全分布式
hadoop·分布式·centos
roman_日积跬步-终至千里17 小时前
数仓开发的三层责任:业务定义、模型设计与 SQL 实现
数据库·数据仓库·sql·数据建模
@小匠18 小时前
Flink + Iceberg 批量失败复盘:一次超时如何变成 Hive Metastore 锁泄漏
大数据·hive·flink
geovindu2 天前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
skywalk81632 天前
hive —— 多机 AI Agent 协同的任务总线:分布式,多节点同时运行,保障不会宕机
人工智能·hive·分布式
程序员梅雨3 天前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
棣廷3 天前
初识数据仓库——数仓分层到DataX数据采集
数据仓库
棣廷3 天前
初识Hive(2)
数据仓库·hive·hadoop
skywalk81633 天前
deepseek对skywalk163/hive 和hivecommons/hive 两个多机AI Agent任务调度项目的对比
人工智能·hive·agent