大数据技术入门——Hadoop+Spark│教与学(教学大纲)
大数据技术入门——Hadoop+Spark
教学大纲
课程名称 |
(中文):大数据技术入门——Hadoop+Spark(英文):Big Data Technology and Practice |
课程类别 |
专业基础课 |
考核性质 |
考试 |
先修课程 |
Java 语言 |
1
教学目标
2.1 课程教学目标
教学目标1:掌握大数据的基本概念,了解大数据技术发展历程、技术体系及应用领域。
教学目标2:理解大数据存储的基本原理,掌握大数据存储的基本技术,能够应用常用的大数据存储系统进行数据存取及管理。
教学目标3:理解大数据处理的基本原理,掌握大数据处理的基本编程模型并能够进行初级实践。
教学目标4:了解大数据技术的发展趋势,认识到大数据技术的发展及应用对社会发展的影响。
教学目标5:理解大数据应用需求及技术环境的多样性,认识到自我学习的必要性。
2.2 课程教学目标与毕业要求的关系矩阵
课程教学目标与毕业要求的关系矩阵见表1。
表1 课程教学目标与毕业要求的关系矩阵
注:● 相关程度大;○表示有相关。
2
课程基本内容和学时安排
3.1 教学单元1:大数据概述
教学内容:
教学单元1-1研究背景和意义
教学单元1-2 数据定义及其技术持点
教学单元1-3大数据处理的主要技术特点与难点
教学单元1-4研究大数据的意义
重点:
数据定义及其技术持点
难点:
3大数据处理的主要技术特点与难点
3.2 教学单元2:Hadoop简介及安装部署
教学内容:
教学单元2-1 Hadoop简介及生态体系
教学单元2-1 Hadoop集群架构
教学单元2-1 Hadoop集群运行环境搭建
重点:
Hadoop简介及生态体系
难点:
Hadoop集群运行环境搭建
3.3 教学单元3:HDFS 分布式文件系统
教学内容:
教学单元3-1相关基本概念
教学单元3-2 HDFS存储架构
教学单元3-3 HDFS的特点
教学单元3-4 HDFS常用Shell命令
教学单元3-5 HDFS的Java API
重点:
HDFS存储架构
难点:
HDFS常用Shell命令、HDFS的Java API
3.4 教学单元4:MapReduce计算框架
教学内容:
教学单元4-1 MapReduce核心思想
教学单元4-2 MapReduce的工作原理
教学单元4-3 MapReduce的运行机制
教学单元4-4 MapReduce数据本地化
教学单元4-5 MapReduce编程
教学单元4-6 MapReduce编程示例
重点:
MapReduce核心思想
难点:
MapReduce的工作原理、运行机制
3.5教学单元5:Hive 数据仓库
教学内容:
教学单元5-1 Hive概述
教学单元5-2 Hive安装
教学单元5-3 Hive数据库相关操作
重点:
Hive安装
难点:
Hive数据库相关操作
3.6 教学单元6:HBase分布式数据库
教学内容:
教学单元5-1 HBase的概述
教学单元5-2 HBase安装
教学单元5-3 HBase数据模型
教学单元5-4 HBase的Shell操作
教学单元5-5 Hbase常用Java API及示例程序
重点:
HBase安装
难点:
HBase的Shell操作
3.7 教学单元7:Spark基础
教学内容:
教学单元7-1 Spark概述
教学单元7-2 Spark的安装
教学单元7-3 Spark运行架构与原理
教学单元7-4 Spark运行基本流程
重点:
Spark运行架构与原理
难点:
Spark运行基本流程
3.8 教学单元8:Spark RDD弹性分布式数据集
教学内容:
教学单元8-1 RDD的设计与运行原理
教学单元8-2 RDD创建
教学单元8-3 RDD操作
教学单元8-4程序示例:倒排索引
重点:
RDD的设计与运行原理
难点:
RDD操作
3.9 教学单元9:spark SQL
教学内容:
教学单元9-1 spark SQL概述
教学单元9-2 DataFrame
教学单元9-3 Dataset
教学单元9-4 Spark SQL编程
重点:
DataFrame
难点:
Spark SQL编程
3.10 教学单元10:Spark Streaming实时计算框架
教学内容:
教学单元10-1 Spark Streaming概述
教学单元10-2 DStream编程模型
教学单元10-3 DStream编程模型示例
重点:
DStream编程模型
难点:
DStream编程模型示例
3.11 教学单元11:Spark Streaming与Flume、Kafka的整合
教学内容:
教学单元11-1 Flume简介及安装
教学单元11-2 kafka简介及其安装
教学单元11-3 Flume、Kafka区别和侧重点
教学单元11-4 Spark Streaming与Flume、Kafka整合与开发
重点:
Flume、Kafka区别和侧重点
难点:
Spark Streaming与Flume、Kafka整合与开发
3.12 教学单元12:Spark MLlib 机器学习
教学内容:
教学单元12-1机器学习概念
教学单元12-2 MLlib的简介
教学单元12-3 SparkMLlib数据类型
教学单元12-4 SparkMLlib机器学习示例
重点:
SparkMLlib数据类型
难点:
SparkMLlib机器学习示例
3.13 实战案例-分布式优惠券后台应用系统
教学内容:
教学单元13-1 系统简介
教学单元13-1系统整体架构
教学单元13-1表结构设计
教学单元13-1系统实现
教学单元13-1 系统运行测试
重点:
系统整体架构
难点:
系统实现、运行测试
3
学时分配
4.1 学时分配
本课程共64学时,其中课堂讲授38学时,上机实验26学时,具体的学时分配见表2。
表2 课程学时分配表
4.2 实践性教学内容
课内实验内容及要求见表3。
表3 课内实验内容及要求
4
教学方式方法
5.1 教学方法
本课程是一门64学时的专业必修课,课堂教学38学时,上机实验26学时。根据课程目标,设计课程教学方法如下:
1、课堂讲授:以问题导入的方式,通过介绍当前应用环境的变化和需求引入大数据技术,概括介绍大数据知识体系,使学生对课程有一个初步的认识,进而详细介绍大数据存储和大数据处理两大核心技术。采用多媒体与板书相结合的方式进行讲授,对于各章节的重点及难点,基于案例进行详细讲解,帮助学生理解和掌握。每次开始授课之前,以提问的方式,帮助学生回顾课程内容、抓住知识重点。每章结束进行章节总结,帮助学生梳理知识体系。授课过程中,以启发学生思维为核心,注重师生互动,调动学生的学习主动性和积极性。
2、课内实验:采用课内实验辅助学生理解和掌握大数据技术的原理及应用方法,实验内容主要围绕大数据存储及大数据处理两大核心技术。实验指导书在每次实验之前提前发布,以便学生预习。实验课上由教师布置实验任务并进行简单讲解,不宜讲解过细,应注重培养学生自我探索的能力。学生针对实验问题进行分析、设计并完成上机实验、撰写实验报告。实验报告中除记录实验过程外,还要记录实验中遇到的问题、解决办法,以及实验心得,以促进学生的思考与总结。
3、自主学习:为了充分调动学生的学习主动性和积极性,除课堂教学及实验教学外,加入11学时的自主学习,通过作业帮助学生理解并掌握各章节的重点内容;通过报告中的案例调研分析及课程总结展望,培养自主学习和终身学习的意识,以及客观评价大数据技术的能力。
5.2 教学手段及措施
采取课堂讲授、实验、应用实例讲解等形式,结合课后自学进行教学。采用电子教案和板书相结合的方式,提高讲课效果。在教学过程中,教师应对大数据的基本概念、技术体系、基本存储原理以及基本计算模型进行详细讲解,并指出各教学内容的重点和难点部分。讲授中应以学生为中心,注重理论联系实际,以及先进教学方法的使用。
5
考核方式
6.1 考核方式说明
采用平时、实验,作业相结合的考核方式,注重实践环节的考核。各部分所占比重如下:
课堂出勤表现10%
平时作业成绩10%
实验报告成绩20%
期末考试成绩60%
6.2 考核权重分配
建议考核权重分配按表4进行,并可根据情况适当调整权重。
表4 考核权重分配表
课程用书
《大数据技术入门——Hadoop+Spark》
ISBN:9787302591818
定价:49.90元
近年来,随着大数据底层设施的逐渐成熟,大数据技术开始结合具体行业,向行业应用延伸。围绕数据资源、基础硬件、通用软件等方面的大数据产业正在逐渐形成。各行各业对大数据人才的需求也日益增强。 鉴于此,国内外一些高校先后开设“数据科学与大数据”专业,旨在培养具备大数据技术的高级人才。
为满足相关技术人员和高校师生学习大数据技术基础知识,我们在总结近几年大数据技术基础知识和应用案例的基础上,以理论结合实践的方式将大数据基本概念、大数据开发技术与实际应用相结合,精心组织并完成了本书的编写。
本书为一本夯实大数据基础知识,以实际应用为导向的书籍,非常适合初、中级学习大数据技术的读者。读者可以在短时间内学习本书中介绍的所有知识,掌握大数据技术的开发方法。
作为一本关于大数据技术的入门书籍,本书共有14章。
第1章主要介绍了大数据的研究背景、大数据的定义及其技术特点以及大数据处理的主要技术特点与难点,最后阐述了研究大数据的意义。
第2章主要介绍了Hadoop的起源、生态体系和集群架构,对Hadoop的安装配置进行了详细的讲解。
第3章主要介绍了Hadoop中非常重要的分布式存储文件系统——HDFS,分析了HDFS的存储架构以及常用Shell命令和Java API,并且通过一个具体案例实现了HDFS的Java API的编程。
第4章主要介绍了Hadoop的分布式计算框架MapReduce,分析了MapReduce的核心思想、工作原理、运行机制以及MapReduce的核心过程Shuffle,最后通过单词计数和倒排索引两个案例详细分析MapReduce的编写过程和思路。
第5章主要介绍了Hive的架构、安装和相关操作,重点介绍Hive的DDL、DML、DQL操作。
第6章首先介绍了HBase的架构、寻址机制以及HBase的安装,然后介绍了HBase的Shell操作,包括新建表、插入数据、删除等操作,最后介绍了HBase常用的Java API,并且进行了案例实现。
第7章主要介绍了Spark的基本概念和主要特点、Spark的安装、运行架构和运行基本流程,是为学习Spark RDD和 Spark SQL做基础知识储备。
第8章主要介绍了RDD的运行原理和运行流程,并对RDD的基本操作进行了详细的介绍,最后用一个Scala编程案例实现对RDD的操作。
第9章主要介绍了Spark SQL的原理和运行流程,并对DataFrame的基本操作进行了详细的介绍,最后通过三个Scala编程案例实现了Spark SQL的DataFrame操作、Spark SQL 读写MySQL数据库和Spark SQL读写Hive。
第10章主要介绍了Spark Streaming的一些基本概念和原理,介绍了DStream编程模型,最后通过三个Scala编程案例实现了DStream的有状态状态操作、无状态状态操作、输出操作。
第11章主要介绍了Spark Streaming与Flume、Kafka的整合,介绍了Flume和Kafka的安装过程,最后通过一个Scala编程案例实现Spark Streaming与Flume、Kafka的整合与开发。
第12章介绍了机器学习的定义和分类,重点介绍了Spark MLlib目前包含的算法和组件,通过四个具体实例TFIDF、线性回归、逻辑回归、协同过滤展示了利用Spark MLlib进行机器学习的方法和步骤。
第13章介绍了分布式优惠券后台应用系统的开发核心思路,优惠券后台应用系统包括商户投放子系统和用户消费子系统,分别介绍了两个子系统的核心代码以及测试调用过程。
第14章介绍了新闻话题实时统计分析系统的开发核心思路和核心代码以及启动调用过程。
(1)以实战开发为导向,对基础理论知识点与开发过程进行详细讲解。
(2)实战案例丰富,涵盖16 个完整项目案例和两个综合案例,综合案例可以加深对本书所学的知识点的理解和掌握。
(3)代码详尽,避免对 API 的形式展示,规避重复代码。
(4)语言简明易懂,由浅入深带领读者学会以 Hadoop生态圈为核心的开发技术和大数据常见的机器学习算法。
为便于教学,本书配有源代码、数据集、安装程序、教学大纲。
16个完整的项目案例和两个综合案例,配有教学大纲等资源
本书主要面向广大从事大数据分析、应用开发、机器学习、数据挖掘的专业人员以及从事高校信息技术专业的教师和高等院校的在读学生及相关领域的广大科研人员。
单击页面下方【阅读原文】,订阅【教学大纲】栏目