Hive的基本操作-排序
排序
全局排序
Order By:全局排序,一个reduce
1. 使用 ORDER BY 子句排序
ASC(ascend): 升序(默认)
DESC(descend): 降序
2. ORDER BY 子句在SELECT语句的结尾。
3. 案例实操
查询学生的成绩,并按照分数降序排列
SELECT * FROM student s LEFT JOIN score sco ON s.s_id = sco.s_id ORDER BY sco.s_score DESC;
查询学生的成绩,并按照分数升序排列
SELECT * FROM student s LEFT JOIN score sco ON s.s_id = sco.s_id ORDER BY sco.s_score asc;
按照别名排序
按照分数的平均值排序
select s_id ,avg(s_score) avg from score group by s_id order by avg;
多个列排序
按照学生id和平均成绩进行排序
select s_id ,avg(s_score) avg from score group by s_id order by s_id,avg;
每个MapReduce内部排序(Sort By)局部排序
Sort By:每个MapReduce内部进行排序,对全局结果集来说不是排序。
1. 设置reduce个数
set mapreduce.job.reduces=3;
2. 查看设置reduce个数
set mapreduce.job.reduces;
3. 查询成绩按照成绩降序排列
select * from score sort by s_score;
4. 将查询结果导入到文件中(按照成绩降序排列)
insert overwrite local directory '/export/servers/hivedatas/sort' select * from score sort by s_score
分区排序(DISTRIBUTE BY)
Distribute By:类似MR中partition,进行分区,结合sort by使用。
注意,Hive要求DISTRIBUTE BY语句要写在SORT BY语句之前。
对于distribute by进行测试,一定要分配多reduce进行处理,否则无法看到distribute by的效果。
案例实操:先按照学生id进行分区,再按照学生成绩进行排序。
1. 设置reduce的个数,将我们对应的s_id划分到对应的reduce当中去
set mapreduce.job.reduces=7;
2. 通过distribute by 进行数据的分区
insert overwrite local directory '/export/servers/hivedatas/sort' select * from score distribute by s
CLUSTER BY
当distribute by和sort by字段相同时,可以使用cluster by方式。
cluster by除了具有distribute by的功能外还兼具sort by的功能。但是排序只能是倒序排序,不能指定排序规则为ASC或者DESC。
以下两种写法等价
select * from score cluster by s_id;
select * from score distribute by s_id sort by s_id;
Hive的基本操作-排序相关推荐
- Hive的基本操作-数据库的创建和删除
Hive 的基本操作 创建数据库 create database if not exists myhive; use myhive; 说明:hive的表存放位置模式是由hive-site.xml当中的 ...
- 实验六:熟悉Hive的基本操作
由于CSDN上传md文件总是会使图片失效 完整的实验文档地址如下: https://download.csdn.net/download/qq_36428822/85709631?spm=1001.2 ...
- (超长文)Hive Sql基本操作
Hive Sql基本操作 1.hive里面不显示列名 2.注释问题2.1 MySQL中的注释2.2 Hive中的注释3.乱码问题3.1 修改表字段注解和表注解3.2 修改分区字段注解3.3 修改索引注 ...
- Hive中的排序:order by/sort by/cluster by
Hive中关于排序的几种方法,有必要深入理解其原理. Order by 全局排序 1)Order By:全局排序,只有一个 Reducer,即使我们在设置set reduceer的数量为多个,但是在执 ...
- Hive的基本操作总结
文章目录 目录 前言: 1.Hive基本操作 1.1.DDL操作 1.2.DML操作 1.3.Hive Join 总结: 目录 前言: 对于Hive来说最重要的一点就是能够用Hql来进行数据分析.而H ...
- oracle 分桶,Hive 对象 基本操作
在之前的博客中我们看了Hive 环境的搭建,如下: Hive 3.1.1 环境 搭建手册 https://www.cndba.cn/dave/article/3335 本篇我们了解一下Hive对象的基 ...
- Hive的基本操作-基本查询语法
Hive 查询语法 SELECT SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE w ...
- Hive中的排序语法
ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似.他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间. ...
- 【大数据基础实践】(六)数据仓库Hive的基本操作
目录 1. 数据仓库概念 2. Hive简介 2.1 简介 2.2 特性 2.3 生态系统 3. Hive系统架构 4. HQL转成MapReduce作业的原理 4.1 join的实现原理 4.2 g ...
最新文章
- 金蝶加密服务器显示339错误,打开金蝶软件出现这个提示怎么解决???
- OPM攻击事件后:我们从中学到了什么?
- Powershell Module for Netapp Data Ontap
- websecurity连接mysql_将MySQL连接器JAR放在我的WAR的WEB-INF / lib而不是tomcat lib中,使j_security_check失败...
- hive简介以及安装配置
- 易助erp系统服务器安装,易助ERP系统操作培训教程
- sql server死锁_如何使用扩展事件和SQL Server代理自动执行SQL Server死锁收集过程
- PMP考试中关于应急准备金和管理应急准备金的总结
- 一致性 hash 算法(consistent hashing)
- Silverlight WCF RIA服务(十七)数据 7
- java 2分代复制垃圾回收_Java垃圾回收机制
- php回滚实例_thinkphp 的事务回滚处理 和 原始PHP的事务回滚实例
- 《东周列国志》第五十九回 宠胥童晋国大乱 诛岸贾赵氏复兴
- nfs总结之生产实例
- 普加项目管理甘特图使用--安装部署
- 【mud】xyj450里的toy下的buwawa脚本问题
- Android渠道推广方案相关知识收集
- 城市天际线 for Mac城市建造类游戏
- 《流浪地球》海报丨见证小破球24亿票房逆袭之路
- c语言中=是什么意思,c语言中==是什么意思?