《Spark大数据技术与应用 教学大纲 及 授课计划.docx》由会员分享,可在线阅读,更多相关《Spark大数据技术与应用 教学大纲 及 授课计划.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Spark大数据技术与应用教学大纲课程名称:Spark大数据技术与应用课程类别:必修适用专业:大数据技术类相关专业总学时:64学时(其中理论40学时,实验24学时)总学分:4.0学分一、课程的性质本课程是为大数据技术、人工智能技术应用类相关专业学生开设的课程。大数据技术蓬 勃开展,基于开源技术的Hadoop在行业中应用广泛。但是Hadoop本身还存在诸多缺陷,最 主要的缺陷是其MapReduce计算模型延迟过高,无法胜任实时、快速计算的需求。Spark的诞 生弥补了 MapReduce的缺陷。Spark继承了 MapReduce分布式计算的优点并改进了 MapReduce 明显的缺陷。Spar
2、k拥有Hadoop M叩Reduce所具有的优点,但不同于MapReduce, Spark的中 间输出结果可以保存在内存中,从而大大减少了读写HDFS的次数,因此Spark能更好地适用 于数据挖掘与机器学习中需要迭代的算法。目前,Spark在企业中的运用越来越广泛,学习Spark 分布式计算框架已然是进入大数据行业所必不可少的一步。二、课程的任务通过本课程的学习,使学生对Spark分布式计算框架有一个全面的理解,课程内容主要包 括了 Spark基本原理与架构、集群安装配置、Scala与Spark编程、Spark代表组件,完整工程 案例等精选内容。涉及的知识点简要精到,实践操作性强。通过课程学习
3、培养学生科学的思 维方法、灵活运用知识的能力和实验操作能力,使学生具有在大数据领域较强的发现问题、 分析问题、解决问题的能力。三、课程学时分配序号教学内容理论学时实验学时其它1第1章Spark概述222第2章Scala基础533第3章Spark编程734第4章Spark进阶编程425第5章Spark SQL:结构化数据文件处理426第6章Spark Streaming:实时计算框架427第7章Spark GraphX:图计算框架428第8章Spark MLlib:功能强大的算法库429第9章工程案例:广告检测的流量作弊识别66总计4024四、教学内容及学时安排1.理论教学序号章节名称主要内容教
4、学目标学时1Spark概述1. Spark基本概念2. Spark开展和应用3. Spark环境配置方法4. Spark架构及原理1 . 了解Spark概念2 .掌握Spark分布式 环境特点3 .掌握 Spark RDD 的概念4 . 了解Spark的运行 流程和原理22Scala基础1. Scala 简介2. Scala 特性3. Scala的环境设置及安装方法4. Scala类的定义和运行方法5. Scala数据类型、函数、表达式的应 用6. Scala if判断和for循环7. Scala集合应用1 .掌握Scala环境的 安装2 .掌握Scala语言的 应用和编程53Spark编程1
5、 .从内存中已有数据创立RDD2 .从外部存储创立RDD3 . RDD转化操作和行动操作方法4 . RDD键值对操作5 .文件读取与存储1 .掌握RDD的转化 操作和行动操作方 法2 .掌握键值对RDD 的操作3 ,掌握文本文件的 读取和存储74Spark编程进阶1 .下载与安装IntelliJ IDEA2 . Scala插件安装与使用3 .配置Spark运行环境的方法4 .运行Spark程序的方法5 .持久化方法6 .数据分区方法1 .掌握如何在IDEA 中配置Spark编程环 境2 .掌握Spark程序的 编写45Spark SQL:结 构化数据文件 处理1. Spark SQL 简介2.
6、 Spark SQL 酉己置3. Spark SQL 与 Shell 交互4. DataFrame生成与操作方法1.掌握 Spark SQL 使用方法46Spark Streaming:实时 计算框架1. Spark Streaming 运行原理2. Spark Streaming 使用方法3. DStream编程模型基本方法1 . T 解SparkStreaming运行原理2 .掌握SparkStreaming使用方法47Spark GraphX: 图计算框架1 .图的基本概念2 .图计算的应用3 . GraphX的基础概念4 .图的创立与存储5 .数据查询与数据转换6 .结构转换与关联聚合
7、1 . 了解图计算的应 用2 .掌握 SparkGraphX使用方法48Spark MLlib:功 能强大的算法 库1 .机器学习2. MLlib介绍和应用1,了解机器学习算 法2.掌握 Spark MLlib 使用方法49工程案例:广告 检测的流量作 弊识别1 .常用推荐算法2 .异常数据处理方法3 .数据变换方法1.学习ALS算法2,掌握MLlib算法 包的使用3. 了解常见广告流 量作弊方式6学时合计402 .实验教学序号实验工程名称实验要求学时1搭建Spark集群1 .搭建Spark伪分布式环境2 .搭建Spark完全分布式环境22Scala安装1 .在网页上运行Scala2 .在 L
8、inux上安装Scala3 .在 Windows系统安装Scala4 .运行Scala语句0.53定义函数识别号 码类型1 .用数组分别存储各种类型的手机号段2 .定义函数识别手机号段0.54统计广州号码段 数量1.定义函数统计5根据归属地对手 机号码段分组1 .将数据存储到列表中2 .利用groupBy函数对列表中的元素进行分组0.56编写手机号码归 属地信息查询程 序1.定义单例对象2.定义方法实现0.57编写函数过滤文 本中的回文单词1 .定义函数2 .调用函数测试0.58使用Scala编程 实现杨辉三角1 .学习杨辉三角原理2 .定义函数0.59以学生成绩创立RDD1 .使用 text
9、File 创立 RDD0.510查询学生成绩表 中的前5名1 .使用map函数转换RDD2 .使用sortBy函数排序3 .使用take取出前5个值11输出单科成绩为 100分的学生ID1 .使用union合并两个RDD2.使用filter过滤出成绩为100的记录0.512输出每位学生所 有科目的总成绩1 ,使用map转换得到键值对RDD2 .使用union合并RDD3 .使用reduceByKey统计学生ID相同的成绩的和0.513输出每位学生的 平均成绩1 ,使用map转换得到学生ID和score两列数据的RDD2.使用combineByKey计算平均值0.514将汇总后的成绩 存储为文本
10、文件1 .使用join连接所有统计结果2 .使用 saveAsTextFile 保存 RDD0.515统计文本中性别 为“男”用户数1 .使用filter过滤出包含字符“男”的记录数0.516单词计数1 .使用flatMap转换得到(单词,1)的键值对2 .使用reduceByKey统计词频17搭建开发环境1 .安装IDEA2 .配置Scala插件3 .配置Spark编程环境0.518使用移动平均预 测股票涨跌1 .新建工程和类2 .计算价格波动幅度3 .预测股票涨跌119竞赛网站访问日 志分析L新建工程和类2 .统计用户数、网页数3 .统计用户月访问量0.520认识 Spark SQL1.
11、Spark SQL 酉己置2. Spark SQL 与 Shell 交互0.521探索分析房屋售 价数据1 .获取数据2 .探索字段值分布3 .各季度房屋销量和销售额分析4 .房屋评分分析0.522统计分析顾客对 某城市餐饮店的 点评数据1 .掌握Spark SQL配置。2 .掌握在spark-shell中操作hive表。3 .将数据读取为DataFrame o4 .统计筛选出口味评分大于7分的数据5 .统计各类餐饮店点评数并输出到HDFSo123Spark Streaming 实时更新书籍热 度1. Spark Streaming 输入数据源2. Spark Streaming计算书籍热度3
12、. 书籍热度输出124过滤打印包含单 词error的记录1 .使用Spark Streaming过滤打印包含单词eiTor的记录0.525实时分析用户对 广告的访问信息 并存储在HDFS 中1 .读取数据创立Spark Streaming2 . Spark Streaming监听文件目录并分析及输出数据0.527使用 PageRank 算法完成网页排 名1 .上传数据到HDFS。2 .在IDEA创立工程与类。3 .建立网页结构图。4 .调用GraphX中的PageRank算法对网页进行排名。128利用GraphX构 建家庭关系网络 图L创立家庭关系网络图。2.分析家庭人物关系数据129以Log
13、istic回归 实现用户分类1 .数据处理。2. MLlib 实现 Logistic 回归。130通过KMeans定 位商圈1 .建立聚类模型2 .保存聚类模型、结果、聚类中心0.531网络攻击类型识 别1 .建立TF-IDF模型2 .使用决策树算法实现网络攻击类型识别0.532数据预处理1 .原始数据探索与分析。2 .异常数据处理。3 .缺失数据处理。4 .特征标准化。133建立推荐模型1 .构建与评估逻辑回归模型。2 .构建与评估随机森林模型。434进行广告检测流 量作弊识别1 .加载模型。2 .进行广告流量作弊识别。1学时合计24五、考核方式突出学生解决实际问题的能力,加强过程性考核。课
14、程考核的成绩构成二平时作业和练 习(20%) +课堂参与(课堂表现与考勤)(20%) +期末考核(60%),期末考试建议采用开 卷形式,试题应包括基本概念、基础理论、基本操作、程序设计等局部,题型可采用判断题、 选择、简答、应用题等方式。六、教材与参考资料.教材肖芳,张良均.Spark大数据技术与应用(第2版)(微课版)M.北京:人民邮电出版 社.2022.1 .参考资料1肖芳,张良均.Spark大数据技术与应用M.北京:人民邮电出版社.2018.2王哲,张良均.Hadoop与大数据挖掘(第2版)M.北京:机械工业出版社.2022.3张军,张良均.Hadoop大数据开发基础(第2版)(微课版)
15、M.北京:人民邮电出版社.2021.学院课程教学进度计划表(2020学年第二学期)课程名称Spark大数据技术与应用 授课学时 64主讲(责任)教师参与教学教师授课班级/人数专业(教研室)填表时 间专业(教研室)主任教务处编印年 月七、课程教学目的本课程以任务为导向的教学模式,较为全面地介绍了 Spark大数据技术的相关知识。全 书共9章,具体内容包括Spark概述;Scala基础;Spark编程;Spark编程进阶;SparkSQL; SparkStreaming; SparkGraphX; SparkMllib;工程案例:广告检测的流量作弊识别。本课程依据企业真实需求,使用实际工程的开发流
16、程,在教与练中培养学生的实践能力。 基本每个章节都都包含了实训与课后习题,通过练习和操作,帮助读者巩固所学的内容。通 过创造了更加符合企业大数据应用真实场景,帮助广大学生提升对大数据专业的理解能力、 操作能力和执行能力。八、教学方法及手段本课程将采用理论与实践相结合的教学方法。在理论上,通过任务引入概念、原理和方 法。在实践上,由教师讲解案例背景,提供简单思路。引导学生对案例进行针对性的分析, 审理和讨论,扩展学生的思维,提高学生的兴趣。通过学生的讨论、自主实践和练习,提高 学生的团队协作能力,专业能力和综合素质。要求学生自主搭建Spark集群、完成章节任务、掌握基本理论和提升专业能力。在每章
17、 的任务教学中,可适当布置练习、组织讨论、引导提出扩展的解决方案,充分调动学生的主 观能动性,锤炼学生的专业精神并提升动手能力,以到达本课程的教学目的。九、课程考核方法突出学生解决实际问题的能力,加强过程性考核。课程考核的成绩构成=平时作业和 练习(20%) +课堂参与(课堂表现与考勤)(20%) +期末考核(60%),期末考试建议采 用开卷形式,试题应包括基本概念、基础理论、基本操作、程序设计等局部,题型可采用判 断题、选择、简答、应用题等方式。打造数据智能职业敕育领军企业Spark大数据技术与应用教学日历周次学时授课内容作业要求备注14第1章Spark概述Spark完全分 布式环境搭建24
18、第2章Scala基础(1)34第2章Scala基础(2)第2章课后习 题与实训44第3章Spark编程(1)54第3章Spark编程(2)64第3章Spark编程(3)第4章Spark编程进阶(1)第3章课后练 习与实训74第4章Spark编程进阶(2)第4章课后练 习与实训84第5章SparkSQL:结构化数据文件处理(1)84第5章SparkSQL:结构化数据文件处理(2)第6章SparkStreaming:实时计算框架(1)第5章课后练 习与实训104第6章SparkStreaming:实时计算框架(2)第6章课后练 习与实训114第7章SparkGraphX:图计算框架(1)124第7章SparkGraphX:图计算框架(2)第8章SparkMLlib:功能强大的算法库(1)第7章课后练 习与实训134第8章SparkMLLb:功能强大的算法库(2)第8章课后练 习与实训144第9章工程案例:广告检测的流量作弊识别(1)154第9章工程案例:广告检测的流量作弊识别(2)164第9章工程案例:广告检测的流量作弊识别(3)注:教材:肖芳,张良均.Spark大数据技术与应用(第2版)(微课版)M.北京: 人民邮电出版社.2022.打造数据智能职业敕育领军企业