《Spark大数据技术与应用案例教程》教案第4课读取学生成绩创建RDD.docx
《《Spark大数据技术与应用案例教程》教案第4课读取学生成绩创建RDD.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第4课读取学生成绩创建RDD.docx(6页珍藏版)》请在第壹文秘上搜索。
1、课题读取学生成绩创建RDD课时2课时(90min)教学目标知识技能目标:(1)掌握RDD的执行过程和依赖关系(2)掌握SparkRDD的创建方法素质目标:促使学生学习SparkRDD的执行过程、RDD之间的依赖关系,以及创建RDD的不同方法,培养学生创建SparkRDD弹性分布式数据集,使用Spark分析和统计学生成绩教学重难点教学重点:RDD的执行过程和依赖关系,SparkRDD的创建方法教学难点:能读取数据创建RDD教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过A
2、PP或其他学习软件,完成课前任务请大家了解RDD的相关知识。【学生】完成课前任务考勤【教师】使用APP迸行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:假如让你用Spark分析和统计一个班级的成绩数据,你会如何做?【学生】思考、举手回答传授新知【教师】通过学生的回答引入新知,介绍SparkRDD的执行过程、SparkRDD之间的依赖关系和SparkRDD的创建等知识一、SParkRDD的执行过程【教师】利用多媒体展示“RDD的特性和RDD典型的执行过程”图片,并进行讲解弹性分布式数据集(resilientdistributeddatasets.RDD)是Spark中最基本的抽
3、象概念之一,它是一个不可变的、弹性的、可分区的分布式数据集合。每个RDD可以分成多个分区,每个分区就是一个数据集片段.一个RDD的不同分区可以存储在集群的不同节点上,从而实现分布式计算。RDD的特性如图2-1所示。RDD的每个元素都可以 被序列化,并且RDD本 身也是可以序列化的, 这使得RDD可以在网络 上传输G某个节点或任务发 故障时,RDD可以自动 恢复到正常状态,保证 了 SPark的容错性KDD将数据划分为多? 分区存储,每个分区可 以在不同的节点上进行 计算,从而实现分布式XZ、作DD一旦创建,就不能倒H改,只能通过转换操作生成)相的RDDJZRDD只支持粗粒度修改,即Y只针对整个
4、数据集进行转换J操作,不能针对数据集中的某个元素进行转换操作Z、RDD提供了多种转换操作和行动操作,方便开发人员对,数据进行处理和分析图21RDD的特性RDD屏蔽了复杂的底层分布式计算,为用户提供了方便的数据转换和求值方法,其典型的执行过程如图2-2所示。图2-2RDD典型的执行过程下面对RDD典型的执行过程进行详细介绍。(I)创建RDDeSpark会读取数据源(如本地文件系统、HDFS.数据库等)中的数据创建RDDe(2)转换操作。对已有RDD进行各种转换操作。这些操作都是情性求值的,也就是说不会立即执行,而是在遇到行动操作时才会执行。每次转换操作都会生成一个新的RDD,该RDD会记录其与前
5、一个RDD的依赖关系,并形成T有向无环图(DAG).(3)行动操作。执行针对RDD的行动操作得到值(值也是RDD),可以将颤回给驱动程序或者输出到外部存储系统。【教师】提出问题:如果要重复使用某个RDD,应如何做?【学生】聆听、思考、回答【教师】总结学生的回答如果需要重复使用某个RDD,可以使用持久化操作将其缓存到内存中,以加快后续操作的速度。例如,RDD执行过程的一个实例(详见教材)二、SParkRDD之间的依赖关系【教师】讲解SparkRDD之间有哪些依赖关系在Spark中,不同的操作使不同的RDD之间产生了不同的依赖关系,这些依赖关系可以分为窄依赖(narrowdependency)和宽
6、依赖(widedependency)o在理解依赖关系之前需要了解以下基本概念。(1)父RDDe父RDD是指在Spark中生成当前RDD的原始数据集,每个RDD可以有一个或多个父RDD。(2)子RDDe子RDD指的是通过对父RDD进行转换操作派生出来的新RDDe(3)Shuffle操作。Shuffie操作是指根据某个键(key)对元素进行重新分区和重新组合的过程。Shufe操作将数据从源分区移动到目标分区,并对数据进行排序或聚合等操作.1.窄依赖1 .窄依赖【教师】利用多媒体展示“窄依赖”图片,并进行讲解窄依赖是指父RDD的每个分区最多被子RDD的一个分区所使用,子RDD分区通常对应一个或多个父
7、RDD分区。当RDD执行map()、filterQ、UniOn()和对输入做协同划分的join。等操作时,就会产生窄依赖,如图2-4所示。这些操作不需要改变雌的分布方式,只是对父RDD每个分区中的元素做出一定处理,并将结果写入子RDD分区中即可。图2-4窄依赖map()filter()【教师】提出问题什么是协同划分?【学生】聆听、思考、回答【教师】总结学生的回答协同划分是指多个父RDD的某一分区的所有键(key)只落在子RDD的同一分区内.2 .宽依赖【教师】利用多媒体展示宽依赖”图片,并进行讲解宽依赖是指父RDD的每个分区都可能被子RDD的多个分区所使用,子RDD分区通常对应所有的父RDD分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spark大数据技术与应用案例教程 Spark 数据 技术 应用 案例 教程 教案 读取 学生 成绩 创建 RDD