实训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.先做一个全表查询

image-20210629121700665

3. 要求你对学生成绩进行一个排序(默认是升序)

select * from shixun1 order by score;

image-20210629135705567

4. 要求你对学生成绩进行一个降序

select * from shixun1 order by score desc limit 3

image-20210629140012792

三、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查看及设置方法

image-20210629141520002

2、用cluster by对表student id字段进行分组,reducestask设置为2

命令:select * from student cluster by id;

image-20210629170431696

五、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;

image-20210629170600729

以上是关于实训2:高阶查询的主要内容,如果未能解决你的问题,请参考以下文章

从外部存储中检索 Relay 查询片段的变量

6月27号实训报告——Mongodb复杂查询

实训第四天

js数组高阶方法reduce经典用法代码分享

js数组高阶方法reduce经典用法代码分享

实训4:union 联合查询