《Hadoop数据管理Ⅱ》课程标准.docx
Hadoop数据管理II课程标准课程代码:B0509022课程类别:专业核心课授课系(部):数字经济学院学分学时:7学分/94学时一、课程定位与作用1.课程的定位:本课程是大数据技术与应用专业的专业核心课程;是一门实用性和实践性很强的程序设计语言课程。2 .课程的作用:根据培养应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,掌握SPark分布式计算框架、SCaIa与SPark编程技术,为将来从事大数据分析挖掘工作奠定基础。3 .与其他课程的关系:本课程是作为大数据专业核心课程,本课程所学习的相关内容在企业中的运用越来越广泛,学习Spark分布式计算框架已然是进入大数据行业所必不可少的一步。二、课程目标通过本课程的学习,使学生掌握基于SPark分布式计算框架的应用程序开发技术,并结合企业案例,将理论与实践相结合,提升对大数据应用系统的开发能力,为将来从事数据分析挖掘工作奠定基础。1.知识目标(1) 了解SPark生态圈的构成;(2)理解SPark运行架构与工作原理;(3)掌握SPark环境及其相关开发语言(SCaIa)的IDE环境IntelliJIDEA的搭建方法;(4)掌握在集成开发环境InteniJIDEA中使用SCala语言开发SPark应用程序的方法;(5)掌握SParkSQL结构化数据文件处理方法;(6)掌握SParkStreaining实时计算框架的搭建和应用程序的开发;(7)掌握SParkGraPhX图计算框架的搭建和应用程序的开发;(8)掌握基于SParkMLIib算法库的应用程序开发。2 .能力目标通过本课程的学习,学生应具备以下几方面的能力:(1)能描述SPark的运行架构与原理;(2)能熟练安装和配置SPark集群开发平台;(3)能熟练使用SCala语言开发基于SPark集群的应用程序;(4)能熟练使用SParkSQL开发基于结构化数据文件的应用;(5)能熟练使用SParkStreaming开发基本的实时流计算应用程序;(6)能熟练使用SParkMLlib提供的算法库开发基本的机器学习应用程序。3 .素质目标(1)具有社会主义和共产主义的理想信念;(2)具有改革开放的意识和强烈的竞争意识;(3)具有良好的行为规范和社会公德以及较强的法制观念;(4)具有良好的职业道德和质量服务意识;(5)具有不断学习、不断创新的进取精神;(6)具有团队协作精神和较强的协调能力及独立工作的能力;(7)具有健康的体魄和良好的心理素质。三、课程设计1 .设计基本理念本课程的设计理念是:应用为目标、实践为主线、能力为中心。(一)突出学生主体,强调能力培养坚持以能力为中心、以学生为主体的原则来设计课堂教学,在学生就业岗位需求分析的基础上来确立能力目标,将能力培养贯穿于课程教学之中,实现由传统的以教师为主体的知识传授型教学模式向以学生为主体的能力培养型教学模式的转变。(二)基于工作过程,真实案例教学在教学过程中,以典型工作任务为载体,将对各种资源的管理分解为多个独立又具有一定联系的任务,让学生将知识的学习,技能的加强和经验的积累在一系列任务中获取并高度融合。(三)整合课程资源,理论实践一体化本课程在教学过程中,根据高职培养应用型人才的特点,以典型工作任务为主线、以各种资源管理为核心,以培养能力和提高兴趣为目标,重视在新形势下的新方法、新规则和新思想的传授。着重培养学生能灵活应用这些思想和方法的能力。课程教学中要遵循理论来自于实践的原则,融“练、学、思、拓”于一体,体现“在做中学,在学中做,学以致用”,以增强知识点的实践性,激发学生的学习兴趣。在实践教学环节中则融入相关理论知识,突出理论来自于实践和指导实践的作用,使学生的知识应用根据学习的内容提升一个新的高度。(四)体现能力标准,强调工学交替学习借鉴“四环相扣”教学改革成果,在本课程教学中全过程体现工学结合,课程教学目标围绕能力标准,课程本身按模块设置,教学过程充分工学交替。2 .总体设计思路本课程采用面向应用方向,以应用为中心构建课程体系,提出从理论到实际,从具体到抽象,从个别到一般,从零散到系统的方法,实施“提出问题-解决问题-归纳分析”的教学三部曲,强调动手能力和对知识的运用能力,重点培养应用型人才。根据知识的深浅度进行实际学习,创设了9个学习情景:SPark概述TSPark运行架构与原理-SCaIa语言基础TSPark编程基础fSpark编程进阶TSParkSQL:结构化数据文件处理-SparkStreaming:实时计算框架>SparkMLlib:功能强大的算法库今项目案例:餐饮平台菜品智能推荐。通过实际案例对知识点进行串联发散,让学生通过具体的实际问题的解决来掌握Spark大数据应用开发的核心技术。课程开发和学习情境设计,整个学习领域由以下学习情境(课程单元)组成:学习情景1学习情景2学习情景3学习情景4学习情景5学习情景6学习情景7学习情景8学习情景9Spark概述Spark运行架构与原理Scala语言基础Spark编程基础Spark编程进阶SparkSQL:结构化数据文件处理SparkStreaming:实时计算框架SparkMLlib:功能强大的算法库项目案例:餐饮平台菜品智能推荐3.课时分配建议本课程课时为94课时,其中理论教学50课时,实践教学44课时。序号课程单元学习任务及教学要求参考学时学习任务教学要求理实论教学践教学1Spark概述1. SPark基本概念2. Spark发展和应用3. SPark环境配置方法1 .讲解SPark基本概念2 .演示SPark的安装配置202Spark运行架构与原理1. SPark集群架构2. SPark作业运行流程3. SPark核心数据集RDD4. Spark核心原理1 .讲解并演示SPark集群的作业运行流程2 .讲解SPark核心工作原理423Scala语言基础1. SCaIa简介2. SCaIa特性3. Scala的环境设置及安装方法4. SCaIa类的定义和运行方法5. SCala数据类型、函数、表达式的应用6. Scalaif判断和for循环7. SCala集合应用1 .演示Scala的安装配置过程2 .讲解和演示Scala的应用编程664Spark编程基础1 .从内存中已有数据创建RDD2 .从外部存储创建RDD3 .RDD转化操作和行动操作方法4 .RDD键值对操作5 .文件读取与存储1 .结合实际问题讲解和演示RDD的各种操作和运算2 .讲解和演示Spark中如何进行文件操作885Spark编程进阶1 .下载与安装InteniJIDEA2 .SCala插件安装与使用3 .配置SPark运行环境的方法4 .运行SPark程序的方法5 .持久化方法6 .数据分区方法结合实际案例讲解和演示Spark编程应用666SparkSQL:1.SparkSQL简介结合实际案例讲解和演66结构化数据文件处理2. SparkSQLCLI配置3. SparkSQL与Shell交互4. DataFrame基础操作方法示SparkSQL的编程应用7SparkStreaming:实时计算框架1. SparkStreaming运行原理2. SparkStreaming使用方法3. DStream编程模型基本方法结合实际案例讲解和演示SparkStreaming的编程应用668SparkMLlib:功能强大的算法库1 .机器学习2 .MLlib介绍和应用结合实际案例讲解和演示SparkMLlib算法库中常用算法的编程应用649项目案例:餐饮平台菜品智能推荐1 .常用推荐算法2 .异常数据处理方法3 .数据变换方法要求讲解推荐算法理论和算法编程实践相结合66合计944、课程单元描述对每个课程单元从学习目标、学习内容、教学方法和建议、教学条件要求、学生已有基础、教师所需执教能力要求、校企双师授课安排建议等方面分别对每个课程单元进行描述,格式如下:课程单元1课程单元名称Spark概述课时数理论教学实践教学2O学习目标知识目标1 .了解SPark概念2 .掌握如何搭建SPark分布式环境能力目标1.能熟练搭建SPark分布式环境素质目标1 .具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1 .认识SPark的来源、发展、特点、生态圈和应用场景2 .搭建完全分布式Spark开发环境教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学教学条件要求L课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadOOP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容12企业兼职教师授课内容:课程单元2课程单元名称SPark运行架构与原理课时数理论教学实践教学42学习目标知识目标1 .掌握SParkRDD的概念2 .了解SPark的运行流程和原理能力目标1 .能向SPark集群环境提交示例任务2 .能准确描述SPark作业运行流程素质目标1 .具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1.SPark集群架构2. SPark作业运行流程3. SPark核心数据集RDD4. Spark核心原理教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadOoP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容4企业兼职教师授课内容:课程单元3课程单元名称SCala语言基础课时数理论教学实践教学66学习目标知识目标1 .掌握SCala环境的安装2 .掌握SCala语言的应用和编程能力目标1.能熟练使用Scala语言按照指定功能需求编写应用程序素质目标L具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1.SCala环境设置与安装2. 运行SCala3. SCala数据类型、SCala常量和变量的定义4. SCala表达式和数组的使用5. SCaIa函数的定义和使用6. 任务实现:定义函数识别手机号码类型7. SCala列表LiSt的应用8. Scala集合Set的应用9. SCaIa映射MaP的应用10. SCaIa元组的应用11. 函数组合器的应用12. 任务实现:根据归属地对手机号码分组13. SCala类的应用14. Scalaobject的应用15. Scala模式匹配16. Scala读取文件17. 任务实现:针对给定的手机号码信息文件,编程完成手机号码归属地信息查询教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HaCIooP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容广17企业兼职教师授课内容:课程单元4课程单元名称SPark编程基础课时数理论教学实践教学88学习目标知识目标1 .掌握RDD的转化操作和行动操作方法2 .掌握键值对RDD的操作3 .掌握文本文件的读取和存储能力目标1.能按指定功能熟练使用Spark编程实现相应的数据处理任务素质目标L具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1 .任务背景介绍及任务内容介绍2 .根据已有数据创建RDD3 .使用InaP转换数据4 .使用sortBy()排序5 .使用COlleCt()查询6 .使用fIatMap转换数据7 .使用take。查询指定值8 .任务实现:实现学生成绩数据RDD的创建,并查询学生成绩表中的前5名9 .使用Union()合并多个RDD10 .使用filter。进行过滤11 .使用distinct()进行去重12 .简单的集合操作13 .任务实现:输出单科成绩为100分的学生ID14 .键值对RDD的创建和使用15 .任务实现:输出每位学生所有科目的总成绩16 .使用join。连接两个RDD17 .使用ZiP组合两个RDD18 .使用CombineByKey合并相同键的值19,使用lookup查找指定键的值20 .任务实现:输出每位学生的平均成绩21 .JSoN文件的读取与存储22 .CSV文件的读取与存储23 .SquenceFile的读取与存储24 .文本文件的读取与存储25 .任务实现:将汇总后的学生成绩存储为文本文件教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadOoP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容125企业兼职教师授课内容:课程单元5课程单元名称Spark编程进阶课时数理论教学实践教学66学习知识目标1 .掌握如何在IDEA中配置Spark编程环境2 .掌握SPark程序的编写目标能力目标1 .能熟练地安装IntelIiJIDEA开发环境2 .能熟练地使用Scala语言编程实现股票涨跌预测、网站访问日志分析素质目标L具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1 .下载与安装IntelIiJIDEA2 .SCaIa插件安装与使用3 .配置SPark运行环境的方法4 .运行SPark程序的方法5 .持久化方法6 .数据分区方法7 .使用移动平均预测股票涨跌8 .竞赛网站访问日志分析教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HaeIOoP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容广8企业兼职教师授课内容:课程单元6课程单元名称SparkSQL:结构化数据文件处理课时数理论教学实践教学66学习目标知识目标1.掌握SParkSQL使用方法能力目标1.能熟练使用SparkSQL编程实现法律服务网站数据分析和航空公司客户数据分析素质目标1 .具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1. SparkSQL简介2. SparkSQLCLI配置3. SparkSQL与Shen交互4. DataFrame基础操作方法5. 探索分析法律服务网站数据6. 统计分析航空公司客户数据的空值以及异常值教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadOoP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:企业兼职教师授课内容:学习内容9课程单元7课程单元名称SparkStreaming:实时计算框架课时数理论教学实践教学66学习目标知识目标1.掌握SParkStreaming使用方法能力目标1.能熟练使用SParkStreaIning实现实时更新热门博文素质目标L具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1. SparkStreaming的基本概念与运行原理2. 如何使用SparkStreaming3. DStream编程模型简介4. DStream转换操作5. DStream窗口操作6. DStream输出操作7. SparkStreaming实时更新热门博文教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadoOP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容7企业兼职教师授课内容:课程单元8课程单元名称SparkMLlib:功能强大的算法库课时数理论教学实践教学64学习目标知识目标1.掌握SParkMLlib使用方法能力目标1.能熟练使用SparkMLlib算法库中提供的Logistic回归算法实现用户分类素质目标L具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1 .机器学习简介2 .MLlib中的算法与算法包3 .MLlib中的模型评估4 .以Logistic回归实现用户分类教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadOoP数据管理I教师所需执教能力要求讲师以上校企双师授课安排建议校内教师授课内容:学习内容3企业兼职教师授课内容:课程单元9课程单元名称项目案例:餐饮平台菜品智能推荐课时数理论教学实践教学66学习目标知识目标1 .学习ALS算法2 .掌握MLIib算法包的使用能力目标1.能编程实现常用的推荐算法素质目标L具有一定的心理素质,勇于克服困难2 .具有主动学习并不断进行创新的精神3 .具有分工合作、团队协作能力4 .具有一定的逻辑思考能力学习内容1 .常用推荐算法2 .异常数据处理方法3 .数据变换方法教学方法和建议教学方法:案例法、演讲法、讨论法、分析讨论法。教学建议:按照“练、学、思、拓”训练模式来组织教学。以教师为主导,学生为主体进行教学和实训。教学条件要求1 .课程标准2 .授课计划3 .授课教案4 .教学案例学生已有基础JaVa程序设计基础、LinUX操作系统基础、基础的逻辑和语言文字基础、HadoOP数据管理I教师所需执教能力要讲师以上求校企双师授课安排建议校内教师授课内容:企业兼职教师授课内容:学习内容14四、课程评价1 .课程评价及方式说明学生的成绩评定以主要根据理论知识的掌握(为总结性考核,占50%)、考勤(占10%),课堂提问(占10%)、作业(占10%)、企业教师技能评定(占20%)等五方面构成。2 .课程过程考核说明(1)知识的掌握以试卷形式考核,题型包括单选、多选、判断、简答、案例分析等;(2)考勤及课堂提问依据是平时学生的上课出状况、回答课堂提问的积极性及正确率;(3)作业是指每个教学单元中要求学生完成的作业。以完成的数量和质量给予成绩;(4)企业教师技能评定是指企业教师在授课过程中,根据学生掌握的技能情况或者在企业的实践情况评定。表1:考核标准序号考核项目考核内容成绩比例(%)1形成性考核考勤根据学生上课的出勤情况评分:旷课1次扣2分,旷课5次此项0分;迟到、早退2次各扣1分,课堂违纪被老师点名批评2次扣1分102课堂提问回答问题的积极性、准确性、深度103作业完成情况、质量,不交作业1次扣2分,5次不交不得分104总结性考核理论知识考核505企业教师技能考核现场提问、实际操作20合计100表2:总结性考核标准序考核项目考核内容成绩比例号(%)1Spark概述Spark的特点、Spark生态圈的构成、Spark的适用场景52Spark运行架构与原理Spark作业运行流程、SPark核心数据集RDD>Spark核心原理103Scala语言基础SCaIa环境设置与安装、SCaia语言的基础知识、SCala类的应用304Spark编程基础Spark编程基础知识和操作305SparkSQL:结构化数据文件处理SparkSQL的基本概念、DataFrame基础操作106SparkStreaming:实时计算框架SparkStreaming的基本概念与运行原理、DStream编程模型107SparkMLlib:功能强大的算法库机器学习概念、MLIib中的算法与算法包5合计100表3:技能考核点序号考核项目考核内容成绩比例(%)1分布式Spark开发环境搭建搭建完全分布式Spark开发环境52Scala语言基础使用Scala语言编程实现指定功能203Spark编程基础使用RDD编程实现指定功能254SparkSQL编程使用SparkSQL编程实现结构化数据文件处理205SparkStrCaming编程运用SparkStreaming实时计算网页热度,并根据热度排序取出热度最高的前10个网页,得到的结果写入到MySQL数据库中206SparkMIIib编程使用SparkMIlib编程实现Logistic回10归,并用于实现用户分类合计100五、实施建议1.授课资料编写建议授课资料是实现教学目标的重要载体,必须依据本课程标准以及大数据行业相关岗位国家职业标准和大数据技术与应用专业培养目标为主线编写授课计划、教案和教学案例,坚持理论够用,强调知识传授的趣味性。授课资料应该邀请企业人员参与编写,特别是实践部分。2.教学方法建议针对具体的教学内容和教学过程需要,如何采用项目教学法、任务驱动法、讲授法、引导教学法、角色扮演法、案例教学法、情境教学法、实训作业法等。六、教材及其它教学资源教材:1.使用教材:Spark大数据技术与应用,肖芳,张良均主编,人民邮电出版社,2018年出版.2.参考书目:(1)Hadoop与大数据挖掘,张良均,樊哲,位文超,刘名军主编,机械工业出版社,2015年出版。(2)Hadoop大数据分析与挖掘实战,张良均,樊哲,赵云龙,李成华主编,机械工业出版社,2015年出版。