实训2:高阶查询
Posted Smartloe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实训2:高阶查询相关的知识,希望对你有一定的参考价值。
一、Order by
Hive SQL中的ORDER BY语法类似于SQL语言中的ORDER BY语法。会对输出的结果进行全局排序。
默认排序顺序为升序(ASC),也可以指定为DESC降序。
二、Order by
案例
1.准备工作
shixun2.txt(提前发到QQ群里)
创建表
create table shixun1(
id int,
name string,
score int
)
row format delimited
fields terminated by ',';
加载数据
load data local inpath '' into table darcy.shixun1;
2.先做一个全表查询
3. 要求你对学生成绩进行一个排序(默认是升序)
select * from shixun1 order by score;
4. 要求你对学生成绩进行一个降序
select * from shixun1 order by score desc limit 3
三、Cluster by
- 根据指定字段将数据分组,每组内再根据该字段正序排序(只能正序)。
概况起来就是:根据同一个字段,分且排序。
- 分组取决于reducetask的个数
四、Cluster by
案例
create table student(
id int,
name string,
sex string,
age int,
dept string
)
row format delimited
fields terminated by ',';
1、reducetask查看及设置方法
2、用cluster by对表student id字段进行分组,reducestask设置为2
命令:select * from student cluster by id;
五、DISTRIBUTE BY
+SORT BY
-
DISTRIBUTE BY
+SORT BY
就相当于把CLUSTER BY
的功能一分为二:DISTRIBUTE BY
负责根据指定字段分组;SORT BY
负责分组内排序规则。
-
分组和排序的字段可以不同。
六、DISTRIBUTE BY
+SORT BY
实例
1、命令
select * from student distribute by sex sort by age desc;
以上是关于实训2:高阶查询的主要内容,如果未能解决你的问题,请参考以下文章