《Hive数据仓库技术与应用案例教程》教案 项目8 分析二手房数据.docx
PAGE12
PAGE12
PAGE11
PAGE11
课题
分析二手房数据
课时
2课时(90min)
教学目标
知识目标:
(1)熟悉数据仓库分层设计的方法
(2)掌握Hive数据定义的相关知识
(3)掌握Hive数据导入与导出的相关知识
(4)掌握Hive数据查询的相关知识
(5)掌握Hive函数的相关知识
(6)掌握Hive性能优化的相关知识
技能目标:
(1)能够使用数据仓库与Hive的相关知识独立构建二手房数据仓库,并查询和分析二手房数据
(2)能够举一反三,参照二手房数据的分析过程分析其他数据
素养目标:
懂得团结合作能让工作事半功倍的道理
教学重难点
教学重点:使用数据仓库与Hive的相关知识构建二手房数据仓库,并查询和分析二手房数据
教学难点:举一反三,参照二手房数据的分析过程分析其他数据
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务
请大家了解Hive数据仓库技术的应用案例。
【学生】完成课前任务
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
设计数据仓库的第一步应做什么?
【学生】思考、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,介绍设计二手房数据仓库、定义二手房数据仓库的存储结构、向二手房数据仓库中导入数据、查询并分析二手房数据、导出二手房数据的相关知识
8.1设计二手房数据仓库
?【教师】利用多媒体展示“二手房数据文件‘house.txt’的部分内容”图片(详见教材),并进行讲解
二手房数据文件“house.txt”中包含区、地铁站、户型、面积(单位:平方米)、楼层、房屋总价(单位:万元)、房屋单价(单位:元/平方米)和是否近地铁等信息,如图所示。
8.1.1需求分析
为了从不同角度分析北京市二手房的市场行情,二手房信息网站需要构建一个二手房数据仓库。使用该数据仓库,二手房信息网站可以结合不同的用户需求查询和统计以下二手房数据,并对查询和统计的结果进行分析,从而为用户提供二手房的信息,并帮助用户挑选合适的房源。
(1)统计北京市内各区二手房的平均房价和在售数量。
(2)查询北京市某区内二手房平均房价排名前3的房屋户型。
(3)查询北京市某区内二手房在售数量排名前3的房屋户型。
(4)统计北京市某区内不同面积二手房的平均房价。
(5)统计北京市某区内不同面积二手房的在售数量。
(6)查询北京市某区内二手房平均房价最高的房屋楼层。
(7)查询北京市某区内二手房在售数量最多的房屋楼层。
(8)查询北京市某区内近地铁和非近地铁二手房的平均房价。
(9)查询北京市某区内近地铁和非近地铁二手房的在售数量。
8.1.2数据仓库分层设计
?【教师】利用多媒体展示“数据仓库分层的详细设计”图片(详见教材),并进行讲解
结合需求分析结果和数据仓库分层架构将数据仓库分为源数据层、数据仓库层和应用层,详细设计如图所示。
下面设计数据仓库的存储结构,设计过程中注意选择合适的表存储格式和数据压缩格式,有意识地优化Hive性能。
?【教师】利用多媒体展示“二手房数据表houses_ods_table的结构”表格,并进行讲解
为了防止原始数据丢失无法找回,将源数据层的表创建为外部表,存储在HDFS的“/user/hive_data/house.db/house_ods”目录中;为了方便将本地文件系统中的数据导入源数据层的表中,将该表的存储格式设置为TextFile。源数据层的二手房数据表houses_ods_table存储在数据库houses_ods_database中,该表的结构如表所示。
二手房数据表houses_ods_table的结构
字段名称
字段类型
描述
region
STRING
区。其中,CPQ代表昌平区;CYQ代表朝阳区;DXQ代表大兴区;DCQ代表东城区;FSQ代表房山区;FTQ代表丰台区;HDQ代表海淀区;MTGQ代表门头沟区;SJSQ代表石景山区;SYQ代表顺义区;TZQ代表通州区;XCQ代表西城区;MYQ代表密云区
subway_station
STRING
地铁站,表示离房屋最近的地铁站
type
STRING
户型
area
DOUBLE
面积,单位为平方米
floor_level
STRING
楼层,包括底层、低楼层、中楼层、高楼层、顶层和地下室
total_price
INT
房屋总价,单位为万元
unit_price
INT
房屋单价,表示每平方米的价钱,单位为元/平方米
distance
STRING
是否近地铁,包