Spark RDD核心概念与处理机制.pdfVIP

  • 0
  • 0
  • 约3.33千字
  • 约 5页
  • 2026-01-04 发布于北京
  • 举报

大数据课程设计

授课课题SparkRDD(续)4

教学目的:掌握SPARKRDD的概念和原理

教学目的

与要求能力要求:熟悉SPARK基本概念

教学重点sparkrdd的概念和原理

教学难点sparkrdd的概念和原理

教学准备Hadoop集群,spark集群

1.生成方式

2.RDD特性

3.DAG

课程大纲

4.任务集

5.任务集的划分

6.任务提交

基于上一节课内容继续讲解RDD的生成方式,RDD特性,DAG的原理,

任务集相关原理以及任务提交等知识。见附录

教学过程

板书设计

随堂作业1.归纳总结

【生成方式】

RDD的生成方式只有两种,一是从数据源读入,另一种就是从其它RDD通过transformation操

作转换。一个典型的Spark程序就是通过Spark上下文环境(SparkContext)生成一个或多个RDD,

在这些RDD上通过一系列的transformation操作生成最终的RDD,最后通过调用最终RDD的action

方法输出结果。

【RDD特性】

每个RDD都可以用下面5个特性来表示,其中后两个为可选的:

分片列表(数据块列表)

计算每个分片的函数

对父RDD的依赖列表

对key-value类型的RDD的分片器(Partitioner)(可选)

每个数据分片的预定义地址列表(如HDFS上的数据块的地址)(可选)

然Spark是基于内存的计算,但RDD不光可以在内存中,根据useDisk、useMemory、

useOffHeap,deserialized、replication五个参数的组合Spark了12种级别

值得注意的是当StorageLevel设置成OFF_HEAP时,RDD实际被保存到Tachyon中。Tachyon是

一个基于内存的分布式文件系统

【DAG】

Spark的计算发生在RDD的action操作,而对action之前的所有transformation,Spark只是

记录下RDD生成的轨迹,而不会触发真正的计算。

Spark内核会在需要计算发生的时刻绘制一张关于计算路径的有向无环图,也就是DAG

【任务集】

有了计算的DAG图,Spark内核下一步的任务就是根据DAG图将计算划分成任务集,也就是

Stage,这样可以将任务提交到计算节点进行真正的计算

Spark计算的中间结果默认是保存在内存中的,Spark在划分Stage的时候会充分考虑在分布式

计算中可流水线计算(pipeline)的部分来提高计算的效率

而在这个过程中,主要的根据就是RDD的依赖类型。根据不同的transformation操作,RDD的

依赖可以分为窄依赖(NarrowDependency)和宽依赖(WideDependency,在代码中为

ShuffleDependency)两种类型

窄依赖指的是生成的RDD中每个partition只依赖于父RDD(s)固定的partition。宽依赖指的

是生成的RDD的每一个par

文档评论(0)

1亿VIP精品文档

相关文档