Spark大数据技术与应用教学大纲.docx
- 文档编号:3963337
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:31
- 大小:24.63KB
Spark大数据技术与应用教学大纲.docx
《Spark大数据技术与应用教学大纲.docx》由会员分享,可在线阅读,更多相关《Spark大数据技术与应用教学大纲.docx(31页珍藏版)》请在冰点文库上搜索。
Spark大数据技术与应用教学大纲
一、课程的性质、地位与任务
该课程是专业基础课,其目标是培养学生掌握Spark大数据计算框架的基本原理和使用,培养学生大数据思维与动手能力。
二、课程的教学目标与基本要求
《Spark大数据技术与应用》介绍了大数据处理框架Spark的使用,为大数据分析与应
用提供了强有力的工具。
通过该课程可以了解大数据项目开发中大数据计算框架发挥的重要作用。
本课程以理论指导实践,以实践加深理论的理解,循序渐进通过对Spark的讲解与实操,对大数据分析与应用产生更直观的认识。
三、课程内容(各章节主要知识点见课程实施计划)
第1章
Spark简介与运行原理
1.1
Spark
是什么
1.1.1
Spark的版本发展历程
1.1.2
Spark与Hadoop的区别与联系
1.1.3
Spark的应用场景
1.2
Spark
的生态系统
1.2.1
SparkCore
1.2.2
SparkStreaming
1.2.3
SparkSQL与DataFrame
1.2.4
GraphX
1.3
Spark
的构架与原理
1.3.1
Spark架构设计
1.3.2
Spark作业运行流程
1.3.3
Spark核心原理
1.4
Spark2.X新特性
1.4.1
精简的API
1.4.2
Spark作为编译器
1.4.3
智能化程度
1.5
小结
第2章
Spark
的环境搭建
2.1
环境搭建前的准备
2.2
Spark相关配置
2.2.1安装SSH
222SSH免密码登录
223修改访问权限
2.2.4修改profile文件
2.2.5修改Spark配置文件
2.3Spark集群启动与关闭
2.4Spark应用提交到集群
2.5Sparkweb监控页面
2.6小结
第3章使用Python开发Spark应用
3.1Python编程语言
3.1.1Python语言的特点
3.1.2Python与人工智能
3.1.3PySpark是什么
3.2PySpark启动与日志设置
3.2.1PySpark的启动方式
3.2.2日志输出内容控制
3.3PySpark开发包的安装
3.3.1使用pip命令安装
3.3.2使用离线包安装
3.4PyCharm编写Spark应用
3.4.1PyCharm安装与基本配置
3.4.2Spark应用编写
3.5小结
第4章SparkRDD
4.1弹性分布式数据集RDD
4.1.1RDD的定义
4.1.2RDD的特点
4.1.3RDD的创建
4.1.4RDD的操作
4.2transform算子
4.2.1map转换
4.2.2flatMap转换
4.2.3filter转换
4.2.4union转换
4.2.5intersection转换
4.2.6distinet转换
4.2.7sortBy转换
4.2.8mapPartitions转换
4.2.9
转换
mapPartitionsWithlndex
4.2.10partitionBy转换
4.3action算子
4.3.1reduce(f)动作
4.3.2collect()动作
4.3.3count()动作
4.3.4take(num)动作
4.3.5first()动作
4.3.6top(num)动作
4.3.7saveAsTextFile动作
4.3.8foreach(f)动作
4.3.9foreachPartition(f)动作
4.4RDDKey-value转换算子
4.4.1mapValues(f)操作
4.4.2flatMapValues(f)操作
4.4.3reduceByKey操作
4.4.4groupByKey操作
4.4.5sortByKey操作
4.4.6keys()操作
4.4.7values()操作
4.4.8join操作
4.4.9leftOuterJoin操作
4.4.10rightOuterJoin操作
4.5RDDkey-value动作运算
4.5.1collectAsMap()操作
4.5.2countByKey()操作
4.6共享变量
4.6.1累加器accumulator
4.6.2广播变量Broadcast
4.7依赖关系
4.7.1血统Lineage
4.7.2宽依赖与窄依赖
4.7.3shuffle
4.7.4DAG的生成
4.8SparkRDD的持久化
4.8.1持久化使用方法
4.8.2持久化存储等级
4.8.3检查点checkpoint
4.9小节
第5章DataFrame&&SparkSQL
5.1DataFrame
5.1.1DataFrame介绍
5.1.2DataFrame创建
5.2SparkSQL
5.2.1SparkSQL介绍
5.2.2SparkSQL的执行原理
5.2.3SparkSQL的创建
5.3SparkSQL、DataFrame的常用操作
5.3.1字段计算
5.3.2条件查询
5.3.3数据排序
5.3.4数据去重
5.3.5数据分组统计
5.3.6数据连接
5.3.7数据绘图
5.4小结
第6章SparkStreaming
6.1SparkStreaming介绍
6.1.1SparkStreaming是什么
6.1.2SparkStreaming工作原理
6.2流数据加载
6.2.1初始化StreamingContext
6.2.2DiscretizedStreams离散化流
6.2.3SparkStreaming数据源
6.3DStreams输出操作
6.4DStream转换操作
6.4.1map转换
6.4.2flatMap转换
6.4.3filter转换
6.4.4reduceByKey转换
6.4.5count转换
6.4.6updateStateByKey转换
6.4.7其他转换
6.5DataFrame与SQL操作
6.6实时WordCount实验
6.7小结
第7章Spark机器学习库
7.1Spark机器学习库
7.1.1机器学习简介
7.1.2Spark机器学习库的构成
7.2准备数据
7.2.1获取数据
7.2.2数据预处理
7.2.3数据探索
7.3使用MLib机器学习库
7.3.1搭建环境
7.3.2加载数据
7.3.3探索数据
7.3.4预测婴儿生存机会
7.4使用ML机器学习库
7.4.1转换器、评估器和管道
7.4.2预测婴儿生存机会
7.5小结
第8章GraphFrames图计算
8.1图
8.1.1度(degree)
8.1.2路径(path)禾口环(cycle)
8.1.3二分图(bipartitegraph)
8.1.4多重图(multigraph)和伪图(pseudograph)
8.2GraphFrames介绍
8.2.1应用背景
8.2.2GraphFrames库
8.2.3使用GraphFrames库
8.3GraphFrame编程模型
8.3.1GraphFrame实例
8.3.2视图和图操作
8.3.3模式发现(Modiffinding)
8.3.4图加载和保存
8.4GraphFrames实现的算法
8.4.1广度优先搜索(BFS,Breadth-firstsearch)
8.4.2最短路径(ShortestPath)
8.4.3三角形计数(TriangleCounting)
8.4.4连通分量(ConnectedComponents)
8.4.5标签传播算法(LPA,Labelpropagationalgorithm)
8.4.6PageRank算法
8.5基于GraphFrames的网页排名
8.5.1准备数据集
8.5.2创建GraphFrame
8.5.3使用PageRank进行网页排名
8.6小结
第9章出租车数据分析
9.1数据处理
9.2数据分析
9.2.1创建DataFrame
9.2.2KMeans聚类分析
9.3XX地图可视化
9.3.1申请地图key
9.3.2聚类结果可视化
9.4小结
第10章图书推荐系统
10.1Django简介
10.1.1Django是什么
10.1.2Django的安装
10.1.3ORM模型
10.1.4Template模板
10.1.5View视图
10.2.Django项目搭建
10.2.1创建项目
10.2.2创建应用
10.2.3创建模型
10.3.推荐引擎设计
10.3.1导入数据
10.3.2训练模型
10.3.3图书推荐
10.4.系统设计与实现
10.4.1Bootstrap介绍与使用
10.4.2Redis数据库安装与使用
10.4.3视图与路由设计
10.5小结
四、时间分配
课程分段标识
序
号
教学内容
教学环节(学时)
讲
课
习题
实验
上
机
课外
小
计
1
第1章Spark简介与运行原理(§1.1~§1.4)
2
2
第2章Spark的环境搭建(§2.1~§2.5)
2
3
第3章使用Python开发Spark应用(§3.1~§3.4)
2
4
第4章SparkRDD(§4.1~§4.7)
4
5
第5章SparkSQL&&DataFrame(§5.1~§5.4)
4
6
第6章SparkStreaming(§6.1~§6.6)
4
7
第7章Spark机器学习库(§7.1~§7.6)
4
8
第8章GraphFrames图计算(§8.1~§8.5)
4
9
第9章出租车数据分析(§9.1~§9.3)
2
10
第10章图书推荐系统(§10.1~§10.5)
4
总计
32
五、课程说明
课程英文名称
BigdatatechnologyandApplicationwithSpark
主要先修课程
Spark大数据技术与应用
适用专业类别
计算机科学与技术专业,信息管理与信息工程、软件工程
主要教材
《Spark大数据技术与应用》白皮书
考核方式
考试
课程简介
该课程是专业基础课,其目标是培养学生掌握Spark大数据计算框架
的基本原理和使用,培养学生具备大数据思维与动手能力。
必开实验项目
序号
项目名称
实验内容提要
学时
1
Spark伪分布式集群拾建
基于实验讲授Spark集群的搭建
2
基于RDD勺WordCount实验
基于实验讲授RDD的使用
3
SparkDataFrame实验
基于实验讲授SparkDataFrame的使用
4
SparkSQL实验
基于实验讲授SparkSQL的使用
5
SparkStreamingWordCount实
验
基于实验讲授SparkStreaming的使
用
6
基于MLlib电影推荐系统实验
基于实验讲授SparkMLlib的使用
7
出租车数据聚类分析实验
基于实验讲授SparkMLlib的使用
8
基于GraphFrames的网页排名实验
基于实验讲授Spark图计算的原理和使用
六、实践教学大纲
课程名称
Spark大数据技术与应用
课程编码
一、本课程实践教学目的与要求:
通过实验加深对Spark各个组件的认识,提高解决实际工程
问题的能力。
二、本次实践教学项目和主要内容
序号
项目名称
学时
主要内容
类型
1
Spark伪分布式集群搭建
4
设计性
2
基于RDD勺WordCount实验
2
设计性
3
SparkDataFrame实验
2
设计性
4
SparkSQL实验
4
设计性
5
SparkStreamingWordCount实验
2
设计性
6
基于MLlib电影推荐系统实验
4
设计性
7
出租车数据聚类分析实验
4
设计性
8
基于GraphFrames的网页排名实验
4
设计性
三、实验说明
课程总学分
实验学时数
32
实验项目数
课程性质:
通识基础口学科基础口专业选修・集中实践环节口
实验类别
课程内实验口独立设课实验■集中综合实验口
考核方式
日常考核・操作技能考核■卷面考核口提交实验结果■
面试口
适用专业与年级:
大数据科学与技术,计算机科学与技术,软件工程
实验教材及参考书:
注:
实践教学类型一般分为演示性、验证性、综合性、设计性、研究创新性6种。
七、课程实施计划
序号
教学
方式
教学内容(标注重点△,难点^)
作业
要求
教学目标
1
课堂
讲课
第1章Spark简介与运行原理
1.1Spark是什么
1.1.1Spark的版本发展历程
△1.1.2Spark与Hadoop的区别与联系
△1.1.3Spark的应用场景
1.2Spark的生态系统
1.2.1SparkCore
1.2.2SparkStreaming
1.2.3SparkSQL与DataFrame
1.2.4GraphX
1.3Spark的构架与原理
△1.3.1Spark架构设计
△1.3.2Spark作业运行流程
△1.3.3Spark核心原理
1.4Spark2.X新特性
1.4.1精简的API
1.4.2Spark作为编译器
1.4.3智能化程度
1.5小结
课后了解
Spark在
行业中的应用有哪些
了解Spark的发展历程,了解
Spark生态
系统以及架构原理,了解
Spark2.x
版本与之前版本的区别。
2
课堂
讲课
第2章Spark的环境搭建
2.1环境搭建前的准备
2.2Spark相关配置
2.2.1安装SSH
2.2.2SSH免密码登录
2.2.3修改访问权限
△2.2.4修改profile文件
△2.2.5修改Spark配置文件
2.3Spark集群启动与关闭
★2.4Spark应用提交到集群
△2.5Sparkweb监控页面
2.6小结
在电脑中安装部署伪分布式
Spark集
群
了解
Spark集群环境搭建的整个过程。
3
课堂
讲课
第3章使用Python开发Spark应用
3.1Python编程语言
3.1.1Python语言的特点
3.1.2Python与人工智能
△3.1.3PySpark是什么
3.2PySpark启动与日志设置
3.2.1PySpark的启动方式
3.2.2日志输出内容控制
3.3PySpark开发包的安装
△3.3.1使用pip命令安装
△3.3.2使用离线包安装
3.4PyCharm编写Spark应用
△3.4.1PyCharm安装与基本配置
3.4.2Spark应用编写
3.5小结
了解
Python编程语言的特点和基本语法,配置Spark的Python编程环境
熟悉使用
Python开发Spark的环境搭建。
4
课堂
讲课
第4章SparkRDD
4.1弹性分布式数据集RDD
△4.1.1RDD的定义
△4.1.2RDD的特点
△4.1.3RDD的创建
4.1.4RDD的操作
★4.2transform算子
4.2.1map转换
4.2.2flatMap转换
4.2.3filter转换
4.2.4union转换
4.2.5intersection转换
4.2.6distinet转换
4.2.7sortBy转换
4.2.8mapPartitions转换
4.2.9mapPartitionsWithlndex转换
4.2.10partitionBy转换
★4.3action算子
4.3.1reduce(f)动作
课后在官网中了解
RDD的其
他算子,并对常见的算子进行练习。
了解
Spark中RDD的定义、特点。
熟悉RDD
常见算子的使用以及依赖关系和持久化。
4.3.2collect()动作
4.3.3count()动作
4.3.4take(num)动作
4.3.5first()动作
4.3.6top(num)动作
4.3.7saveAsTextFile动作
4.3.8foreach(f)动作
4.3.9foreachPartition(f)动作
★4.4RDDKey-value转换算子
4.4.1mapValues(f)操作
4.4.2flatMapValues(f)操作
4.4.3reduceByKey操作
4.4.4groupByKey操作
4.4.5sortByKey操作
4.4.6keys()操作
4.4.7values()操作
4.4.8join操作
4.4.9leftOuterJoin操作
4.4.10rightOuterJoin操作
★4.5RDDkey-value动作运算
4.5.1collectAsMap()操作
4.5.2countByKey()操作
4.6共享变量
4.6.1累加器accumulator
4.6.2广播变量Broadcast
★4.7依赖关系
4.7.1血统Lineage
4.7.2宽依赖与窄依赖
4.7.3shuffle
4.7.4DAG的生成
4.8SparkRDD的持久化
★4.8.1持久化使用方法
4.8.2持久化存储等级
★4.8.3检杳点checkpoint
4.9小节
5
课堂
讲课
第5章DataFrame&&SparkSQL
5.1DataFrame
5.1.1DataFrame介绍
△5.1.2DataFrame创建
5.2SparkSQL
5.2.1SparkSQL介绍
△5.2.2SparkSQL的执行原理
△5.2.3SparkSQL的创建
△5.3SparkSQL、DataFrame的常用操作
5.3.1字段计算
5.3.2条件查询
5.3.3数据排序
5.3.4数据去重
5.3.5数据分组统计
5.3.6数据连接
5.3.7数据绘图
5.4小结
了解如何连接
Mysql数
据库进行查询统
计。
熟悉
SparkSQL、SparkDataframe使用,了解
Spark
SQL与
SparkDataFrame的区别与联系。
6
课堂
讲课
第6章SparkStreaming
6.1SparkStreaming介绍
6.1.1SparkStreaming是什么
△6.1.2SparkStreaming工作原理
△6.2流数据加载
6.2.1初始化StreamingContext
6.2.2DiscretizedStreams离散化流
6.2.3SparkStreaming数据源
△6.3DStreams输出操作
△6.4DStream转换操作
6.4.1map转换
6.4.2flatMap转换
6.4.3filter转换
6.4.4reduceByKey转换
6.4.5count转换
6.4.6updateStateByKey转换
了解
socket、
TCP/IP、UDP协议,查询流计算使用的场景。
熟悉
SparkStreaming的定义,数据的加载、转换输出等操作的使用。
647其他转换
6.5DataFrame与SQL操作
△6.6实时WordCount实验
6.7小结
7
课堂
讲课
第7章Spark机器学习库
7.1Spark机器学习库
△7.1.1机器学习简介
△7.1.2Spark机器学习库的构成
7.2准备数据
7.2.1获取数据
7.2.2数据预处理
7.2.3数据探索
7.3使用MLib机器学习库
7.3.1搭建环境
7.3.2加载数据
7.3.3探索数据
7.3.4预测婴儿生存机会
7.4使用ML机器学习库
7.4.1转换器、评估器和管道
7.4.2预测婴儿生存机会
7.5小结
了解机器学习的应用领域有哪些,尝试使用
MLlib实
现对出租车数据进行
k-means
聚类。
了解机器学习的定义以及机器学习的一般流程,熟悉
SparkMLlib的使用。
了解
SparkMLLib和ML包之间的区别与联系。
8
课堂
讲课
第8章GraphFrames图计算
△8.1图
8.1.1度(degree)
8.1.2路径(path)和环(cycle)
8.1.3二分图(bipartitegraph)
8.1.4多重图(multigraph)和伪图
(pseudograph)
★8.2GraphFrames介绍
8.2.1应用背景
8.2.2GraphFrames库
8.2.3使用GraphFrames库
8.3GraphFrame编程模型
8.3.1GraphFrame实例
了解图的定义、类型,了解图在各个领域的应用。
了解图的定义和分类,熟悉
GraphFram
es的编程模型,并可以禾U用
GraphFram
es实现常见图算法应用。
832视图和图操作
8.3.3模式发现(Modiffinding)
8.3.4图加载和保存
8.4GraphFrames实现的算法
8.4.1广度优先搜索(BFS,Breadth-first
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spark 数据 技术 应用 教学大纲