教学大纲
《大数据快速运算》课程教学大纲
课程编号:100865
学 分:3学分
学 时:54学时 (其中:讲课学时40 上机学时:14)
先修课程:linux系统基本原理,大数据基本原理
后续课程:数据清洗
适用专业:大数据应用技术,计算机科学与技术
开课部门:
一、课程的性质与目标
《大数据快速运算》作为高等院校本、专科计算机相关专业、信息管理等相关专业的大数据课程教材,也可供相关技术人员参考,是一本适合广大计算机编程爱好者的优秀读物。通过学习课程使得学生掌握Spark对大规模数据的交互式分析、编写Spark应用以及使用SparkStreaming处理高速数据流的主要思想和基本步骤;同时对Spark平台的应用与开发的理论知识有所了解,如分布式数据收集、分布式数据存储、分布式数据计算、分布式数据展示。
开设本学科的目的是让学生掌握如何使用大数据分析技术解决特定业务领域的问题。完成本课程学习后能够熟练的应用大数据技术解决企业中的实际生产问题。
二、教学条件要求
操作系统:Center OS
Spark版本:Spark 2.3.2
开发工具:IDEA
三、课程的主要内容及基本要求
第1章Scala语言基础
章名 |
Scala语言基础 |
学时 |
6 |
|||
学习目标 |
1. 了解Scala的特点 2. 掌握Scala和IDEA的下载安装 3. 掌握Scala的基础语法 4. 掌握Scala的数据结构 5. 熟悉Scala面向对象的特性 6. 掌握Scala的模式匹配与样例类 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
Scala的概述 |
√ |
|
|
|
||
Scala的下载安装 |
|
√ |
|
|
||
在IDEA开发工具中下载安装Scala插件 |
|
√ |
|
|
||
开发第一个Scala程序 |
|
√ |
|
|
||
Scala的基础语法 |
|
√ |
|
|
||
Scala的数据结构 |
|
|
√ |
|
||
Scala面向对象的特性 |
|
√ |
|
√ |
||
Scala的模式匹配与样例类 |
|
√ |
|
|
第2章 Spark基础
章名 |
Spark基础 |
学时 |
7 |
|||
学习目标 |
1. 掌握Spark集群的搭建和配置 2. 掌握Spark HA集群的搭建和配置 3. 掌握Spark集群架构 4. 理解Spark作业提交的工作原理 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
Spark概述 |
√ |
|
|
|
||
Spark的特点 |
√ |
|
|
|
||
Spark应用场景 |
|
√ |
|
|
||
Spark与Hadoop对比 |
|
√ |
|
|
||
搭建Spark开发环境 |
|
|
√ |
|
||
Spark运行架构与原理 |
|
√ |
|
|
||
体验第一个Spark程序 |
|
√ |
|
|
||
启动Spark-Shell |
|
√ |
|
|
||
IDEA开发WordCount程序 |
|
√ |
|
|
第3章 Spark RDD弹性分布式数据集
章名 |
Spark RDD弹性分布式数据集 |
学时 |
6 |
|
学习目标 |
1. 了解HDFS演变 2. 掌握HDFS特点 3. 掌握HDFS的架构和原理 4. 掌握HDFS的Shell和Java Api操作 |
|||
知识点 |
了解 |
掌握 |
重点 |
难点 |
RDD简介 |
√ |
|
|
|
RDD的创建方式 |
|
√ |
|
|
转换算子 |
|
√ |
√ |
|
行动算子 |
|
√ |
√ |
|
RDD的分区 |
√ |
|
|
|
RDD的依赖关系 |
√ |
|
|
|
RDD机制 |
√ |
|
|
|
DAG概念 |
√ |
|
|
|
RDD在Spark中的运行流程 |
|
√ |
|
|
第4章Spark SQL结构化数据文件处理
章名 |
Spark SQL结构化数据文件处理 |
学时 |
6 |
||
学习目标 |
1. 理解Spark SQL基本概念及其架构 2. 掌握DataFrame/Dataset的常用操作 3. 掌握RDD转换DataFrame的方式 4. 掌握Spark SQL操作数据源 |
||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
|
Spark SQL的简介 |
√ |
|
|
|
|
Spark SQL的架构 |
|
√ |
|
√ |
|
DataFrame简介 |
√ |
|
|
|
|
DataFrame的创建 |
|
√ |
|
|
|
DataFrame的常用操作 |
|
√ |
√ |
|
|
Dataset简介 |
√ |
|
√ |
|
|
Dataset对象的创建 |
|
√ |
|
|
|
RDD转换DataFrame |
|
√ |
√ |
|
|
Spark SQL操作MySQL |
|
√ |
|
|
|
操作Hive数据集 |
|
√ |
|
|
第5章 HBase分布式数据库
章名 |
HBase分布式数据库 |
学时 |
10 |
|||
学习目标 |
1. 理解HBase的数据模型 2. 掌握HBase的集群部署 3. 理解HBase的架构 4. 理解HBase读写数据流程 5. 掌握HBase与Hive的整合 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
HBase的简介 |
√ |
|
|
|
||
HBase的数据模型 |
|
√ |
|
√ |
||
HBase的集群部署 |
|
√ |
√ |
|
||
HBase的Shell操作 |
|
√ |
|
|
||
HBase的Java API操作 |
|
√ |
|
|
||
HBase的架构 |
|
√ |
|
√ |
||
物理存储 |
√ |
|
|
|
||
寻址机制 |
√ |
|
|
|
||
HBase读写数据流程 |
|
√ |
|
|
||
HBase和Hive的整合 |
|
√ |
√ |
|
第6章 Kafka分布式发布订阅消息系统
章名 |
Kafka分布式发布订阅消息系统 |
学时 |
5 |
|||
学习目标 |
1. 掌握基本的消息传递模式 2. 掌握Kafka集群部署 3. 掌握Kafka基本操作 4. 了解Kafka Streams API的使用 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
消息传递模式简介 |
|
√ |
|
|
||
Kafka简介 |
|
√ |
|
|
||
Kafka核心组件介绍 |
|
√ |
|
|
||
Kafka工作流程分析 |
|
√ |
|
√ |
||
安装Kafka |
|
√ |
|
√ |
||
启动Kafka服务 |
|
√ |
|
|
||
基于命令行方式使用Kafka |
|
√ |
|
|
||
基于Java API方式使用Kafka |
|
√ |
|
|
||
Kafka Streams概述 |
|
√ |
|
|
||
Kafka Streams开发单词计数 |
|
√ |
|
|
第7章Spark Streaming实时计算框架
章名 |
Spark Streaming实时计算框架 |
学时 |
4 |
|||
学习目标 |
1. 了解什么是实时计算 2. 理解Spark Streaming工作原理 3. 掌握DStream的转换操作 4. 掌握DStream的窗口操作 5. 掌握DStream的输出操作 6. 掌握Spark Streaming和Kafka整合 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
什么是实时计算 |
√ |
|
|
|
||
常用的实时计算框架 |
√ |
|
|
|
||
Spark Streaming简介 |
|
√ |
√ |
√ |
||
Spark Streaming工作原理 |
|
√ |
√ |
√ |
||
DStream简介 |
|
√ |
|
|
||
DStream编程模型 |
|
√ |
√ |
√ |
||
DStream转换操作 |
|
√ |
√ |
|
||
DStream窗口操作 |
|
√ |
√ |
|
||
DStream输出操作 |
|
√ |
√ |
|
||
DStream实例—实现网站热词排序 |
|
√ |
|
|
||
KafkaUtils.createDstream方式 |
|
√ |
|
|
||
KafkaUtils.createDirectStream方式 |
|
√ |
|
|
第8章 Spark MLlib 机器学习算法库
章名 |
Spark MLlib机器学习算法库 |
学时 |
4 |
|||
学习目标 |
1. 了解什么是机器学习 2. 掌握机器学习的工作流程 3. 了解Spark MLlib的基本使用方式 4. 了解电影推荐系统的构建流程 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
什么是机器学习 |
√ |
|
√ |
|
||
机器学习的应用 |
√ |
|
|
√ |
||
MLlib的简介 |
√ |
|
|
|
||
Spark机器学习工作流程 |
√ |
|
√ |
|
||
本地向量 |
√ |
|
|
√ |
||
标注点 |
√ |
|
|
√ |
||
本地矩阵 |
√ |
|
|
√ |
||
摘要统计 |
√ |
|
|
√ |
||
相关统计 |
√ |
|
|
√ |
||
分层抽样 |
√ |
|
|
√ |
||
线性支持向量机 |
√ |
|
|
√ |
||
逻辑回归 |
√ |
|
|
√ |
||
推荐模型分类 |
√ |
|
|
|
||
利用MLlib实现电影推荐 |
|
√ |
√ |
|
第9章 综合案例——Spark实时交易数据统计
章名 |
综合案例——Spark实时交易数据统计 |
学时 |
5 |
|||
学习目标 |
1. 熟悉Spark实时计算系统架构 2. 掌握看板平台开发业务流程 3. 熟悉系统环境搭建步骤 4. 掌握Redis和WebSocket基本使用方式 |
|||||
知识点 |
了解 |
掌握 |
重点 |
难点 |
||
系统背景介绍 |
√ |
|
|
|
||
系统架构设计 |
|
√ |
√ |
|
||
Redis介绍 |
√ |
|
|
|
||
Redis部署与启动 |
|
√ |
|
|
||
Redis操作及命令 |
|
√ |
|
|
||
模块开发-构建工程结构 |
|
√ |
|
|
||
模块开发-构建订单系统 |
|
√ |
|
|
||
模块开发-分析订单数据 |
|
√ |
|
√ |
||
模块开发-数据展示 |
|
√ |
|
√ |
四、学时分配
章目 |
讲课 |
上机 |
合计 |
第1章 Scala语言基础 |
5学时 |
1学时 |
6学时 |
第2章 Spark基础 |
6学时 |
1学时 |
7学时 |
第3章 Spark RDD弹性分布式数据集 |
5学时 |
1学时 |
6学时 |
第4章 Spark SQL结构化数据文件处理 |
5学时 |
1学时 |
6学时 |
第5章 HBase分布式数据库 |
5学时 |
1学时 |
6学时 |
第6章 Kafka分布式发布订阅消息系统 |
4学时 |
1学时 |
5学时 |
第7章 Spark Streaming实时计算框架 |
3学时 |
2学时 |
4学时 |
第8章 Spark MLlib 机器学习算法库 |
3学时 |
2学时 |
4学时 |
第9章 Spark实时计算案例 |
4学时 |
2学时 |
6学时 |
合计 |
40学时 |
14学时 |
54学时 |
五、考核模式与成绩评定办法
本课程为考试课程,期末考试采用百分制的闭卷考试模式。学生的考试成绩由平时成绩(40%)和期末考试(60%)组成,其中,平时成绩包括出勤(5%)、作业(15%)、上机成绩(20%)。
六、选用教材和主要参考书
本大纲是根据教材《Spark大数据分析与实战》所设计的。
七、大纲说明
本课程的授课模式为:课堂授课+上机,其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机主要是编写程序,要求学生动手完成指定的程序设计或验证。
撰写人: 徐永春 审定人:
批准人: 执行时间:2021-11-18