第9章 Spark概论
- 格式:pptx
- 大小:1.17 MB
- 文档页数:21
基于spark的推荐课程设计一、课程目标知识目标:1. 学生能理解Spark的基本原理和架构,掌握推荐系统在Spark上的实现方法。
2. 学生能掌握基于用户的协同过滤推荐算法和基于物品的协同过滤推荐算法。
3. 学生能了解推荐系统中常用的评估指标,如准确率、召回率等。
技能目标:1. 学生能够运用Spark编程实现对大规模数据集的推荐算法处理。
2. 学生能够运用Python等编程语言实现推荐系统的搭建和优化。
3. 学生能够运用相关评估指标对推荐系统进行性能分析和调优。
情感态度价值观目标:1. 学生通过学习Spark推荐课程,培养对大数据处理和分析的兴趣,增强数据驱动的思维。
2. 学生能够认识到推荐系统在实际生活中的广泛应用,激发学习和研究的热情。
3. 学生能够树立团队协作意识,学会与他人共同解决问题,培养沟通与协作能力。
课程性质:本课程为信息技术学科选修课程,以项目式教学为主,注重理论与实践相结合。
学生特点:学生具备一定的编程基础,对大数据和推荐系统有一定了解,但对Spark技术及其在推荐系统中的应用尚不熟悉。
教学要求:教师应采用案例教学、任务驱动等方法,引导学生主动探究,注重培养学生的实际操作能力和团队协作能力。
同时,关注学生的学习反馈,及时调整教学策略,确保课程目标的实现。
通过对课程目标的分解和教学设计,使学生在完成具体学习成果的过程中,达到课程目标的预期成果。
二、教学内容1. Spark基础原理与架构:介绍Spark的核心概念,如弹性分布式数据集(RDD)、Spark运行架构、内存计算等,结合课本相关章节,让学生对Spark 的计算模型和优势有深入了解。
- 教材章节:第1章 Spark概述2. 推荐系统原理与算法:讲解推荐系统的基本原理,重点介绍基于用户的协同过滤和基于物品的协同过滤算法,结合实际案例,让学生掌握推荐算法的应用。
- 教材章节:第2章 推荐系统概述,第3章 协同过滤算法3. Spark MLlib库的使用:介绍MLlib库中与推荐系统相关的API,通过实例演示如何使用MLlib实现推荐算法,使学生能够熟练运用MLlib进行推荐系统的搭建。
Spark基本架构及原理Hadoop 和 Spark 的关系Spark 运算⽐ Hadoop 的 MapReduce 框架快的原因是因为 Hadoop 在⼀次 MapReduce 运算之后,会将数据的运算结果从内存写⼊到磁盘中,第⼆次 Mapredue 运算时在从磁盘中读取数据,所以其瓶颈在2次运算间的多余 IO 消耗. Spark 则是将数据⼀直缓存在内存中,直到计算得到最后的结果,再将结果写⼊到磁盘,所以多次运算的情况下, Spark 是⽐较快的. 其优化了迭代式⼯作负载Hadoop的局限Spark的改进抽象层次低,代码编写难以上⼿通过使⽤RDD的统⼀抽象,实现数据处理逻辑的代码⾮常简洁只提供了Map和Reduce两个操作,⽋缺表达⼒通过RDD提供了很多转换和动作,实现了很多基本操作,如Sort, Join等⼀个Job只有Map和Reduce两个阶段,复杂的程序需要⼤量的Job来完成,且Job之间的依赖关系需要开发者⾃⾏管理⼀个Job可以包含RDD的多个转换操作,在调度时可以⽣成多个阶段(Stage),⽽且如果多个map操作的RDD的分区不变,是可以放在同⼀个Task中进⾏处理逻辑隐藏在代码细节中,缺乏整体逻辑视图RDD的转换⽀持流式API,提供处理逻辑的整体视图对迭代式数据处理性能⽐较差,Reduce与下⼀步Map之间的中间结果只能存放在HDFS中通过内存缓存数据,可⼤⼤提⾼迭代式计算的性能,内存不⾜时可以溢出到本地磁盘,⽽不是HDFSReduceTask需要等待所有MapTask都完成后才可以开始分区相同的转换构成流⽔线放在⼀个Task中运⾏,分区不同的转换需要Shuffle,被划分到不同的Stage中,需要等待前⾯的Stage 完成后才可以开始时延⾼,只适⽤Batch数据处理,对于交互式数据处理和实时数据处理的⽀持不够通过将流拆成⼩的batch提供Discretized Stream处理流数据Spark 的主要特点还包括:(1)提供 Cache 机制来⽀持需要反复迭代计算或者多次数据共享,减少数据读取的 IO 开销;(2)提供了⼀套⽀持 DAG 图的分布式并⾏计算的编程框架,减少多次计算之间中间结果写到 Hdfs 的开销;(3)使⽤多线程池模型减少 Task 启动开稍, shuffle 过程中避免不必要的 sort 操作并减少磁盘 IO 操作。
Spark介绍安装在集群上的spark版本:spark-1.6.3-bin-hadoop2.6.tgz scala版本:scala-2.10.4.tgz1、spark是什么Spark,是⼀种通⽤的⼤数据计算框架,正如传统⼤数据技术Hadoop的MapReduce、 Hive引擎,以及Storm流式实时计算引擎等。
Spark包含了⼤数据领域常见的各种计算框架,⽐如:Spark Core⽤于离线计算Spark SQL⽤于交互式查询Spark Streaming⽤于实时流式计算Spark MLlib⽤于机器学习Spark GraphX⽤于图计算Spark主要⽤于⼤数据的计算,⽽Hadoop以后主要⽤于⼤数据的存储(⽐如HDFS、 Hive、 HBase等),以及资源调度( Yarn)Spark+Hadoop的组合,是未来⼤数据领域最热门的组合,也是最有前景的组合!2、spark介绍Spark,是⼀种"One Stack to rule them all"的⼤数据计算框架,期望使⽤⼀个技术堆栈就完美地解决⼤数据领域的各种计算任务。
Apache官⽅,对Spark的定义就是:通⽤的⼤数据快速处理引擎。
Spark使⽤Spark RDD、 Spark SQL、 Spark Streaming、 MLlib、 GraphX成功解决了⼤数据领域中,离线批处理、交互式查询、实时流计算、机器学习与图计算等最重要的任务和问题。
Spark除了⼀站式的特点之外,另外⼀个最重要的特点,就是基于内存进⾏计算,从⽽让它的速度可以达到MapReduce、 Hive的数倍甚⾄数⼗倍!现在已经有很多⼤公司正在⽣产环境下深度地使⽤Spark作为⼤数据的计算框架,包括 eBay、 Yahoo!、 BAT、⽹易、京东、华为、⼤众点评、优酷⼟⾖、搜狗等等。
Spark同时也获得了多个世界顶级IT⼚商的⽀持,包括IBM、 Intel等。
《Spark大数据技术与应用》课程教学大纲
一、课程的性质、地位与任务
该课程是专业基础课,其目标是培养学生掌握Spark大数据计算框架的基本原理和使用,培养学生大数据思维与动手能力。
二、课程的教学目标与基本要求
《Spark大数据技术与应用》介绍了大数据处理框架Spark的使用,为大数据分析与应用提供了强有力的工具。
通过该课程可以了解大数据项目开发中大数据计算框架发挥的重要作用。
本课程以理论指导实践,以实践加深理论的理解,循序渐进通过对Spark的讲解与实操,对大数据分析与应用产生更直观的认识。
注:实践教学类型一般分为演示性、验证性、综合性、设计性、研究创新性6种。
《大数据技术与应用》
教案
20XX〜20XX学年第X学期
学院(部): _______________________________
教研室(系): _____________________________
授课班级: _________________________________
课程学分: _________________________________
课程学时: _________________________________
课程周学时: _______________________________
使用教材:大数据技术与应用-微视频版
•Hadoop系统的发展历程及其优点的介绍•Hadoop原理的介绍
在线帮助和相关资源
使用HBase提供的过滤类进行查询
owMatrix 类型(分布式矩阵)、IndexedRowMatrix 类型、Coordi nateMatrix 类型、BlockMatrix 类型
Hive组成模块,执行流程概述
Metastore存储模式
安装Hive,配置参数并运行测试
教学内容
Hive Beeline
了解基本数据类型与文件格式数据的定义,操作,查询
Hive编程
3、对于重点和难点,通过例题讨论讲解、师生互动、作业等来突出。