《Hive数据仓库技术与应用案例教程》教案 项目2 Hive基础.docx
PAGE2
PAGE2
PAGE9
PAGE9
课题
Hive基础
课时
2课时(90min)
教学目标
知识目标:
(1)掌握Hive的数据类型
(2)掌握Hive的运算符
(3)掌握Hive表的存储格式
技能目标:
(1)能够完成数据仓库分层设计
(2)能够设计数据仓库各层中表的结构,包括表的存储格式、字段名、字段的数据类型等
素养目标:
(1)掌握编程思路,培养逻辑思维能力。
(2)锻炼具体问题具体分析的思维方式,培养一丝不苟的工作态度,增强积极主动寻求解决方法的意识
教学重难点
教学重点:Hive的数据类型和运算符,Hive表的存储格式
教学难点:完成数据仓库分层设计,设计数据仓库各层中表的结构
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务
请大家了解常用的Hive运算符。
【学生】完成课前任务
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
(1)Hive提供的数据类型主要分为哪几种?
(2)Hive内置运算符的类型有哪些?
【学生】思考、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,介绍Hive数据类型和运算符,以及Hive表的存储格式等知识
2.1Hive数据类型
数据类型用于规定数据的存储格式、约束和有效范围。在设计数据仓库的过程中,需要确定Hive表中不同字段的数据类型。Hive提供的数据类型主要分为基本数据类型和复杂数据类型。
2.1.1基本数据类型
?【教师】利用多媒体展示“基本数据类型”表格,并进行讲解
在Hive中,基本数据类型包括数值类型、日期/时间类型、字符串类型和其他类型。不同数据类型所占字节和存储范围也不同,基本数据类型的详细介绍如表所示。
基本数据类型
数据类型
描述
所占字节
取值范围
数值类型
TINYINT
有符号整数
1字节
?128~127
SMALLINT
有符号整数
2字节
?32768~32767
INT
有符号整数
4字节
?2147483648~2147483647
BIGINT
有符号整数
8字节
?9223372036854775808
~9223372036854775807
FLOAT
单精度浮点数
4字节
?3.40282347E+38
~3.40282347E+38
DOUBLE
双精度浮点数
8字节
?1.7976931348623157E+308
~1.7976931348623157E+308
DECIMAL
任意精度的带符号小数,声明格式为DECIMAL
(precision,scale)。其中,precision表示数字的最大位数,取值范围为[1,38],默认值为10;scale表示小数点后的位数,默认值为0
取决于precision的值
取决于precision和scale的值
日期/时间类型
TIMESTAMP
精确到纳秒的UNIX时间戳,各个时区、各个地方所表示的值都相同。格式为YYYY-MM-DDHH:MM:SS
4字节
1970-01-0100:00:01.000000000
UTC—2038-01-1903:14:07.
999999999UTC
DATE
以年、月、日的形式描述日期,格式为YYYY-MM-DD
3字节
0000-01-01—9999-12-31
字符串
类型
STRING
字符串
—
字符长度没有限制
VARCHAR
变长字符串
数据本身长度+1字节
字符长度为1~65535
CHAR
定长字符串
取决于定义时指定的字符数
字符长度为1~255
其他
类型
BOOLEAN
布尔类型
1字节
TRUE或FALSE
BINARY
字节数组
—
—
2.1.2复杂数据类型
在Hive中,复杂数据类型包括数组、映射和结构体。
(1)数组(ARRAY)是一组具有相同数据类型的数据的集合。ARRAY类型的声明格式如下。
ARRAYdata_type
其中,data_type表示数组中元素的数据类型,可以是任意数据类型。
例如,“namesARRAYSTRING”表示声明字段names,该字段为数组类型且数组中元素的数据类型为STRING。
(2)映射(MAP)是一组键值对元组的集合。映射中的每个元素都是一个由键(key)和值(value)组成的二元组,且每个键都是唯一的。MAP类型的声明格式如下。
MAPkey_type,value_type
其中,key_type