《Hive数据仓库技术与应用案例教程》教案 项目5 Hive数据查询.docx
PAGE18
PAGE18
PAGE19
PAGE19
课题
Hive数据查询
课时
8课时(360min)
教学目标
知识目标:
(1)掌握简单查询的基本语法格式
(2)掌握条件查询的基本语法格式
(3)掌握分组查询的基本语法格式
(4)掌握排序查询的基本语法格式
(5)掌握连接查询的基本语法格式
(6)掌握抽样查询的基本语法格式
技能目标:
(1)能够使用条件语句、分组语句、排序语句或连接语句查询表中数据
(2)能够使用抽样查询抽取表中数据,并进行数据查询
素养目标:
培养持续学习的能力,能够及时掌握新技术和工具,并将其应用到实际项目中
教学重难点
教学重点:简单查询、条件查询、分组查询、排序查询、连接查询、抽样查询的基本语法格式
教学难点:根据需要使用恰当的语句查询数据
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务
请大家了解Hive数据查询的种类。
【学生】完成课前任务
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
(1)排序查询可以分为哪几种?
(2)什么是抽样查询?
【学生】思考、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,介绍简单查询、条件查询、分组查询、排序查询、连接查询、抽样查询的相关知识
5.1简单查询
简单查询是指直接查询表中指定字段的数据。在Hive中,可以使用SELECT…FROM语句实现简单查询,其基本语法格式如下。
SELECT[ALL|DISTINCT]select_expr[[AS]new_name]
FROMtable_reference
[LIMIT[offset,]rows];
上述语法格式的详细解释如下。
SELECT:查询数据的关键字。
ALL|DISTINCT:可选项,用于指定是否返回去重后的查询结果。其中,ALL为默认值,表示返回全部查询结果;DISTINCT表示返回去重后的查询结果。
select_expr:表示查询的字段或含有字段的表达式。当select_expr为“*”时,表示查询表中的所有字段。
[AS]new_name:可选项,用于指定字段的别名为new_name。其中,AS关键字为可选项,可以省略。
FROMtable_reference:用于指定实际查询的表、视图或子查询。
LIMIT[offset,]rows:可选项,用于限制返回结果的起始位置和数据行数。其中,offset为可选项,表示返回结果的起始位置,不使用该参数时,起始位置默认为0;rows表示返回结果的数据行数。
【例5-1】查询数据库hive_database中外部表external_table的数据。
(1)切换至数据库hive_database。
?【教师】利用多媒体展示“外部表external_table中的所有数据”图片(详见教材),并进行讲解
(2)执行如下语句,查询外部表external_table的所有字段,并返回所有数据,结果如图所示。
…/SELECT*FROMexternal_table;
?【教师】利用多媒体展示“外部表external_table中的前3行数据”图片(详见教材),并进行讲解
(3)执行如下语句,查询外部表external_table的所有字段,并返回前3行数据,结果如图所示。
…/SELECT*FROMexternal_tableLIMIT3;
?【教师】利用多媒体展示“每个学生的第一个爱好、邮箱、电话和所在城市”图片(详见教材),并进行讲解
(4)执行如下语句,查询外部表external_table中每个学生的第一个爱好、邮箱、电话和所在城市,结果如图所示。
…/SELECTname,hobbies[0]first_hobbies,
contact_info[邮箱]Email,contact_info[电话]Phone,
address.citycity
FROMexternal_table;
……(详见教材)
?【教师】随机邀请学生回答以下问题:
上述语句中,hobbies[0]表示什么意思?
?【学生】聆听、思考、回答
?【教师】总结学生的回答
hobbies[0]表示使用复杂运算符A[n]获取字段hobbies(数据类型为ARRAY)的首个元素(学生的第一个爱好),并将该元素的别名设置为first_hobbies;contact_info[邮箱]和contact_info[电话]表示使用复杂运算符M[key]获