《Hadoop大数据技术与应用》教学大纲0823.docx
- 文档编号:9039429
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:28
- 大小:26.03KB
《Hadoop大数据技术与应用》教学大纲0823.docx
《《Hadoop大数据技术与应用》教学大纲0823.docx》由会员分享,可在线阅读,更多相关《《Hadoop大数据技术与应用》教学大纲0823.docx(28页珍藏版)》请在冰豆网上搜索。
《Hadoop大数据技术与应用》教学大纲0823
Hadoop大数据技术与应用
(含实验)
(1104201510)
教学大纲
(2018版)
曙光瑞翼教育合作中心
2018年8月
前言
一、大纲编写依据
《Hadoop大数据技术与应用》是数据科学、大数据方向本科生的一门必修课。
通过该课程的学习,使学生系统的学习当前广泛使用的大数据Hadoop平台及其主要组件的作用及使用。
课程由理论及实践两部分组成,课程理论部分的内容以介绍Hadoop平台主要组件的作用、结构、工作流程为主,让学生对Hadoop平台组件的作用及其工作原理有比较深入的了解;课程同时为各组件设计有若干实验,帮助学生在学习理论知识的同时,提高学生的实践能力,系统的掌握Hadoop主要组件的原理及应用,为其他相关课程的学习提供必要的帮助。
二、课程目的
1、知识目标
学习Hadoop平台框架,学会手动搭建Hadoop环境,掌握Hadoop平台上存储及计算的原理、结构、工作流程,掌握基础的MapReduce编程,掌握Hadoop生态圈常用组件的作用、结构、配置和工作流程,并具备一定的动手及问题分析能力,使用掌握的知识应用到实际的项目实践中。
2、能力目标
(1)工程师思维方式
通过本课程的学习,引导学生养成工程师逻辑思维、系统思维的思维方式及习惯。
(2)分析及解决问题的能力
课程中实验由浅及深,有一定的步骤及难度,操作不当可能会遇到问题;遇到问题时老师会给出引导,但不会直接告诉解决方法,因此,如何分析、分析完成后实施具体的解决步骤,都需要学生摸索完成,在这个摸索实践过程中,学生的分析及解决问题的能力得到培养。
三、教学方法
1、课堂教学
(1)讲授
本课程的理论教学内容以讲授为主、辅以操作演示,讲授的主要内容有:
Hadoop概述,Hadoop安装部署,分布式文件系统HDFS,分布式计算MapReduce,资源管理调度组件YARN,列式存储HBase,数据仓库组件Hive,数据分析引擎Pig,日志采集组件Flume,数据迁移组件Sqoop,集群管理组件Ambari,分布式应用程序协调组件Zookeeper,集成的可扩展的机器学习算法库Mahout。
根据教学大纲的要求,突出重点和难点。
(2)实践
实践课程由若干实验组成,每个实验都包含实验目的、实验原理、实验环境等,需要学生结合理论知识,充分发挥自主学习的能力来完成实验,老师在这个过程中更多起到辅导的作用。
(3)其它教学方法
采用多媒体辅助教学手段、提供实验相关视频,结合传统教学方法,解决好教学内容多、信息量大与学时少的矛盾;充分利用教学实验系统EDU资源和学校的图书馆的资源优势,查阅与课程相关的资料;通过辅导学生完成实验来提高学生的综合处理问题的能力和软件开发的能力。
2、课外学习
(1)课外练习。
(2)上机实验报告。
四、适用对象
数据科学与大数据技术、计算机科学与技术、软件工程、信息安全、信息管理、网络、数学、统计学专业。
五、先修课程及后续课程(或相关课程)
(一)先修课程:
《高级语言程序设计(Java)》、《Linux》、《大数据导论》、《数据库原理》;
(二)后续课程:
《数据挖掘》、《Spark大数据技术与应用》。
六、课程性质
必修。
七、总课时及各章的分配
授课总课时数为64学时,各章的学时具体安排如下:
章节
教学内容
理论学时
实验学时
合计
第一章
初识Hadoop大数据技术
2
0
2
第二章
Hadoop环境设置
2
4
6
第三章
HDFS(重点章节)
6
8
14
第四章
YARN
2
0
2
第五章
MapReduce(重点章节)
6
8
14
第六章
HBase、Hive、Pig(重点章节)
8
8
16
第七章
Flume
1
1
2
第八章
Sqoop
1
1
2
第九章
ZooKeeper
3
2
5
第十章
Ambari
1
0
1
第十一章
Mahout
0
0
0
总结
课程总结、综合实验
0
0
0
合计
32
32
64
八、使用教材及主要参考书目
(一)选用教材
自编教材:
《Hadoop大数据技术与应用》
(二)主要参考书目
1.TomWhite:
《Hadoop权威指南:
大数据的存储与分析(第4版)》,清华大学出版社,2017年7月。
2.林子雨:
《大数据技术原理与应用:
概念、存储、处理、分析与应用(第2版)》,人民邮电出版社,2017年1月。
九、考核方式及成绩评定标准
1、考核内容与形式
(1)知识类考核
本课程采用闭卷考试形式。
重点考试内容:
HDFS、MapReduce、HBase、Hive、Pig、Flume、Sqoop等组件的使用方法。
(2)能力类考核
利用学生平时作业、课堂提问与讨论考查学生的学习能力,理解和掌握相关知识的程度以及实际应用能力。
通过实验考查学生的实践动手能力、软件开发能力,促进学生自主性学习和研究性学习,启迪学生的创新思维。
2、课程成绩构成
(1)平时成绩占百分比
平时成绩(包括平时考勤、作业情况和上机实验情况)占总分40%;
(2)考试成绩占百分比
期末考试成绩占总分60%
第一章初识Hadoop大数据技术
第一节大数据概述
了解什么是大数据、大数据简史、大数据的类型和特征、大数据对于企业带来的挑战。
第二节大数据相关问题的解决方法(本章重点)
了解对于大数据问题,传统方法、Google的解决方案、Hadoop框架下的解决方案,重点了解Google的三篇论文。
第三节Hadoop概述(本章重点)
了解Hadoop核心构成、Hadoop生态系统的主要组件、Hadoop发行版本的差异及如何选择。
第四节Hadoop应用案例
了解Hadoop典型应用场景。
第二章Hadoop环境设置
第一节安装前准备
了解Hadoop环境搭建前所需做的准备工作。
第二节Hadoop模式(本章重点)
逐一介绍Hadoop的三种模式:
单机、伪分布式和完全分布式。
第三章HDFS(重点章节)
第一节HDFS简介
掌握HDFS组件的作用、优缺点。
第二节HDFS组成与架构(本章重点)
掌握HDFS的组成与架构:
NameNode、DataNode、SecondaryNameNode等,掌握工作流程。
第三节HDFS工作机制(本章重点、难点)
掌握机架感应、HDFS文件读取写入流程、掌握HDFS数据容错相关处理机制。
第四节HDFS操作(本章重点、难点)
从Web访问、HDFSShell、HDFSAPI三个方面掌握HDFS操作。
第五节HDFS高级功能
了解HDFS高级功能,包括:
安全模式、回收站、快照、配额。
第四章YARN
第一节YARN简介
了解YARN的作用,了解YARN出现的原因,以帮助下一节对YARN的结构有更好的理解。
第二节YARN架构(本章难点)
了解YARN组件、YARN工作流程(重点)、YARN资源模型。
第三节YARN调度组件
了解YARN调度组件,了解FIFO调度器,了解Capacity调度器和Fair调度器。
第五章MapReduce(重点章节)
第一节MapReduce概述
了解MapReduce指的是什么,重点掌握MapReduce设计思想,了解MapReduce特点和不擅长的场景。
第二节MapReduce编程模型(本章重点、难点)
重点掌握MapReduce编程模型,掌握MapReduce编程实例之wordcount、统计各个部门员工薪水总和、序列化。
第三节MapReduce编程进阶(本章难点)
了解MapReduce的数据输入、输出格式,掌握分区和合并的概念。
第四节MapReduce工作机制(本章重点、难点)
重点掌握MapReduce作业运行机制,掌握Shuffle与排序。
第五节MapReduce编程案例
通过案例,熟悉MapReduce常用编程案例之排序、去重和多表查询。
第六章HBase、Hive、Pig(重点章节)
第一节HBase
一、了解什么是HBase。
二、掌握HBase数据模型。
(本节重点)
三、掌握HBase物理模型。
四、了解HBase系统架构。
(本节重点)
五、了解HBase与传统数据库的差异。
第二节Hive
一、了解Hive架构与工作原理。
二、掌握Hive数据类型与存储格式。
(本节重点)
三、掌握Hive数据模型。
(本节重点)
四、掌握查询数据。
(本节重点)
五、了解用户定义函数。
第三节Pig
一、了解什么是Pig:
Pig组件、Pig与Hive的比较;重点了解Pig数据模型。
二、掌握什么是PigLatin编程语言:
数据类型、语句、表达式、函数。
(本节重点)
三、掌握Pig代码实例。
(本节重点)
四、了解用户自定义函数。
第七章Flume
第一节Flume产生的背景
了解Flume产生的背景。
第二节Flume简介
了解什么是Flume。
第三节Flume安装
掌握Flume安装。
第四节Flume架构(本章重点)
掌握Flume架构和工作方式。
第五节Flume配置(本章重点)
掌握Flume常用的配置。
第八章Sqoop
第一节Sqoop背景简介
了解Sqoop产生的背景及作用。
第二节Sqoop基本原理
掌握Sqoop工作原理。
第三节安装部署
掌握Sqoop的安装配置。
第四节Sqoop使用(本章重点)
掌握Sqoop的基本使用方法:
列出MySql的基本信息、MySql与HDFS的数据互导、MySql和Hive数据互导。
第九章ZooKeeper
第一节ZooKeeper简介
了解ZooKeeper作用、产生背景。
第二节ZooKeeper的安装和运行(本章重点)
了解ZooKeeper安装和运行。
第三节ZooKeeper的简单操作
了解ZooKeeper的简单操作。
第四节ZooKeeper的特性
了解ZooKeeper的特性。
第五节ZooKeeper应用场景(本章重点)
了解ZooKeeper应用场景。
第十章Ambari
第一节Ambari简介
了解Ambari出现的背景及作用。
第二节Ambari安装(本章重点)
掌握Ambari安装前准备及安装步骤。
第三节利用Ambari管理Hadoop集群(本章重点)
掌握Ambari管理Hadoop集群的相关操作,包括:
安装配置HDP集群、节点的扩展、启用HA。
第四节Ambari的架构和工作原理
了解Ambari的总体架构、AmbariAgent、AmbariServer。
第十一章Mahout
第一节Mahout简介
了解什么是Mahout、Mahout的特性、Mahout能做什么。
第二节Taste简介
了解Taste数据模型、相似度、最近邻域、推荐引擎、推荐系统评测。
第三节使用Taste构建推荐引擎
了解使用Taste构建推荐引擎。
附:
《Hadoop大数据技术与应用》课程实验教学大纲
课程名称:
Hadoop大数据技术与应用实验学时:
32
适用专业:
数据科学与大数据技术、计算机科学与技术、软件工程、信息安全、信息管理、网络、数学、统计学专业课程性质:
必修
一、课程实验简介
课程所有实验都是与《Hadoop大数据技术与应用》课程理论内容相配套的。
通过该课程的学习,使学生系统的学习当前广泛使用的大数据Hadoop平台及其主要组件的作用及使用。
课程实践部分为各组件设计的若干实验,实验设计难易安排合理,贴合实际应用场景,帮助学生在学习理论知识的同时,强化学生对Hadoop主要组件的认知,提高学生的实践能力,为其他相关课程的学习提供必要的帮助。
二、教学目的
“Hadoop大数据技术与应用”是大数据专业或方向的一门重要的专业核心课,是必修的课程之一,是一门实践性很强的课程。
通过学生参与实践的过程,强化学生对Hadoop主要组件思想、架构、原理的认知,真正掌握Hadoop各个组件的使用方法,提高学生动手能力和解决问题的能力。
1.知识目标
学习Hadoop平台框架,学会手动搭建Hadoop环境,掌握Hadoop平台上存储及计算的原理、结构、工作流程,掌握基础的MapReduce编程,掌握Hadoop生态圈常用组件的作用、结构、配置和工作流程,并具备一定的动手及问题分析能力,使用掌握的知识应用到实际的项目实践中。
2.能力目标
(1)工程师思维方式
通过本课程的学习,引导学生养成工程师逻辑思维、系统思维的思维方式。
(2)分析及解决问题的能力
课程中实验由浅及深,有一定的步骤及难度,操作不当可能会遇到问题;遇到问题时老师会给出引导,但不会直接告诉解决方法,因此,如何分析、分析完成后实施具体的解决步骤,都需要学生摸索完成,在这个摸索实践过程中,学生的分析及解决问题的能力得到培养。
三、考核方式及成绩评定标准
考核方式:
考查
成绩评分标准:
平时上机的考勤占实验成绩总分的30%,实验报告占实验成绩总分的70%。
四、实验指导书及主要参考书
(一)选用教材
自编教材:
《Hadoop大数据技术与应用》
(二)主要参考书目
1.TomWhite:
《Hadoop权威指南:
大数据的存储与分析(第4版)》,清华大学出版社,2017年7月。
2.林子雨:
《大数据技术原理与应用:
概念、存储、处理、分析与应用(第2版)》,人民邮电出版社,2017年1月。
五、实验项目
实验项目一览表
章节
序号
实验项目名称
实验类型
实验学时
必做/选做
第二章
实验2.1
搭建Hadoop单机模式环境
演示性
0
选做
实验2.2
搭建Hadoop伪分布式模式环境
验证性
4
必做
实验2.3
搭建Hadoop完全分布式模式环境
演示性
0
选做
第三章
实验3.1
通过shell命令访问HDFS
验证性
2
必做
实验3.2
熟悉Eclipse+Maven的JAVA开发环境
验证性
1
必做
实验3.3
通过API访问HDFS
验证性
2
必做
第五章
实验5.1
分析和编写WordCount程序
综合性
2
必做
实验5.2
MapReduce序列化、分区实验
综合性
2
必做
实验5.3
使用MapReduce求出各年销售笔数、各年销售总额
综合性
2
必做
实验5.4
使用MapReduce统计用户在搜狗上的搜索
综合性
2
必做
第六章
实验6.1
HBase-安装和配置Hbase
演示性
0
选做
实验6.2
通过HBaseShell访问Hbase
验证性
0
选做
实验6.3
HBase-通过JavaAPI访问Hbase
验证性
2
必做
实验6.4
HBase-通过JavaAPI,开发基于HBase的MapReduce程序
综合性
2
必做
实验6.5
Hive-Metastore采用Local模式(MySQL数据库)搭建Hive环境
演示性
0
选做
实验6.6
Hive-常用操作
验证性
1
必做
实验6.7
Pig-安装和使用Pig
演示性
0
选做
实验6.8
Pig-使用PigLatin操作员工表和部门表
验证性
1
必做
第七章
实验7.1
AvroSource+MemoryChannel+LoggerSink
验证性
1
必做
实验7.2
syslogtcpSource+memoryChannel+HDFSSink
验证性
0
选做
实验7.3
ExecSource+MemoryChannel+LoggerSink
验证性
1
必做
第八章
实验8.1
sqoop常用功能的使用
验证性
1
必做
第九章
实验9.1
集群配置管理
验证性
2
必做
第十章
实验10.1
安装Ambari
演示性
0
选做
实验10.2
使用Ambari部署HDP集群
演示性
0
选做
第十一章
实验11.1
基于mahout的电影推荐系统
演示性
0
选做
总结
综合1
搜狗日志查询分析
综合性
4
必做
综合2
离线统计电商各类热点商品,支持运营决策
综合性
0
选做
合计
32
实验类型:
演示性、验证性、综合性、设计性、其它
实验2.1、搭建Hadoop单机模式环境(选做)
实验类型:
演示性
实验目的:
熟悉Hadoop单机模式的搭建
实验内容:
(1)安装Java环境
(2)搭建Hadoop单机模式
注意:
前置条件,虚拟机、ubuntu,并且环境变量设置已经完成,未安装的学生请参考教材虚拟机,ubuntu的安装步骤。
实验要求:
必须具备以下条件:
(1)ubuntun系统
(2)java环境
实验2.2、搭建Hadoop伪分布式模式环境(4课时)
实验类型:
验证性
实验目的:
掌握Hadoop伪分布式模式环境搭建。
实验内容:
(1)在个人计算机搭建Hadoop伪分布模式环境(建议使用)
(2)在教学实验系统EDU搭建Hadoop伪分布模式环境
注:
以上两个安装选项,请根据实际实验环境条件选择其中一个进行实验。
实验要求:
必须要有以下条件:
需要先上传安装包hadopp-2.7.3.tar.gz到的个人home目录下
实验2.3、搭建Hadoop完全分布式模式环境(选做)
实验类型:
演示性
实验目的:
了解搭建Hadoop完全分布式模式环境。
实验内容:
搭建Hadoop完全分布式模式环境。
实验要求:
1.至少3台计算机。
2.OS:
Ubuntu16.04
实验3.1、通过shell命令访问HDFS(2课时)
实验类型:
验证性
实验目的:
1.理解HDFS在Hadoop体系结构中的角色;
2.熟练使用HDFS操作常用的Shell命令;
实验内容:
HDFS是hadoop平台的核心组成之一。
熟悉使用hadoop平台需要熟练访问HDFS。
HDFS的访问方式有多种。
可通过web访问,也可通过shell方式或者API方式访问。
本实验通过shell对HDFS进行访问,基本操作有列举目录内容,新建文件、文件夹,删除文件、文件夹,追加文件内容,文件的上下载等。
实验要求:
操作系统:
Linux
Hadoop版本:
2.6.5或以上版本
JDK版本:
1.6或以上版本
Java IDE:
Eclipse
实验3.2、熟悉Eclipse+Maven的JAVA开发环境(1课时)
实验类型:
验证性
实验目的:
1.所谓“工欲善其事,必先利其器”,Eclipse+Maven(还有更优秀的IDEA+Maven)是几乎所有从事JAVA开发的企业和工程师的优先选择的开发工具。
通过本次实验使得学生懂得如何配置和使用Eclipse+Maven开发环境。
2.了解如何使用Eclipse进行创建Maven工程、运行Maven工程。
3.了解Maven的一些基本命令,如打包命令
4.为后面章节程序的开发做好准备。
实验内容:
使用Eclipse+Maven环境,开发”HelloWorld”程序,并运行
实验要求:
操作系统:
Linux
环境可以连接互联网
实验3.3、通过API命令访问HDFS(2课时)
实验类型:
验证性
实验目的:
1.理解HDFS在Hadoop体系结构中的角色;
2.熟悉通过java API访问HDFS。
实验内容:
HDFS是hadoop平台的核心组成之一。
熟悉使用hadoop平台需要熟练访问HDFS。
HDFS的访问方式有多种。
可通过web访问,也可通过shell方式或者API方式访问。
本实验通过API对HDFS进行访问,基本操作有文件的删除,文件的上传,下载以及属性的读取等。
实验要求:
操作系统:
Linux
Hadoop版本:
2.6.5或以上版本
JDK版本:
1.6或以上版本
Java IDE:
Eclipse
实验5.1、分析和编写WordCount程序(2课时)
实验类型:
综合性
实验目的:
熟练理解和掌握MapReduce编程模型,并且会使用Combiner。
实验内容:
编写MapReduce程序统计单词出现的频率。
独立完成编程。
实验要求:
要使用到Combiner。
实验5.2、MapReduce序列化、分区实验(2课时)
实验类型:
综合性
实验目的:
理解和熟练掌握MapReduce序列化、分区。
实验内容:
编写程序,将对员工数据按低薪、中薪、高薪进行分区存储。
输出到三个文件。
实验要求:
结合课堂学习的知识,职工信息采用一个独立的类存放,并且实现Hadoop序列化。
独立完成编程。
实验5.3、使用MapReduce求出各年销售笔数、各年销售总额(2课时)
实验类型:
综合性
实验目的:
熟练掌握MapReduce编程模型。
实验内容:
编写程序,使用MapReduce求出各年销售笔数、各年销售总额。
实验要求:
将上面的数据文件上传到hdfs,存放的目录按学号区分。
独立完成编程。
实验5.4、使用MapReduce统计用户在搜狗上的搜索(2课时)
实验类型:
综合性
实验目的:
熟练掌握MapReduce编程模型。
实验内容:
使用MapReduce统计用户在搜狗上搜索,排在前10的关键字;另外,获取到URL排名第二、用户点击顺序第一的日志。
实验要求:
从搜狗实验室下载数据源,并独立完成编程。
实验6.1、HBase-安装和配置HBase(选做)
实验类型:
演示性
实验目的:
掌握HBase的本地模式、伪分布式、集群模式的搭建。
实验内容:
安装和配置HBase。
实验要求:
教师根据机房环境,选择是否要做这个实验
实验6.2、HBase-通过HBaseShell访问HBase(选做)
实验类型:
验证性
实验目的:
掌握HBaseShell常用指令的使用。
实验内容:
通过HBaseShell访问HBase。
实验要求:
教师根据另一门NoSQL课程实验情况,觉得是否要选做此实验。
为了避免冲突,下面的表名规则为:
member+学号,比如学号001,表名为member001。
实验6.3、HBase-通过JavaAPI访问HBase(2课时)
实验类型:
验证性
实验目的:
掌握常用的HBaseJAVAAPI。
实验内容:
通过JAVAAPI,实现类似所描述的hbaseshell功能,可以操作实验二的表'member'。
实验要求:
独立开发程序。
实验6.4、HBase-通过JavaAPI,开发基于HBase的MapReduce程序(2课时)
实验类型:
综合性
实验目的:
掌握MapReduce操作HBase的方法。
实验内容:
写一个MapReduce程序,统计实验三的表'member001'(001表示学号,根据自己学号修改)的数据,按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop大数据技术与应用 Hadoop大数据技术与应用教学大纲 0823 Hadoop 数据 技术 应用 教学大纲