Spark
计算模型
1.
课程目标
1.1.
熟练使用
RDD
的算子完成计算
1.2.
掌握
RDD
的原理
2.
弹性分布式数据集
RDD
2.1.
RDD
概述
2.1.1.
什么是
RDD
RDD
(
Resilient
Distributed
Dataset
)叫做分布式数据集,是
Spark
中最基本的数据抽象,它
代表一个不可变、
可分区、里面的元素可并行计算的集合。
RDD
具有数据流模型的特点:
自
动容错、
位置感知性调度和可伸缩性。
RDD
允许用户在执行多个查询时显式地将工作集缓存
在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。
2.1.2.
RDD
的属性
1
)一组分片(
Partition
),即数据集的基本组成单位。对于
RDD
来说,每个分片都会被一
个计算任务处理,并决定并行计算的粒度。用户可以在创建
RDD
时指定
RDD
的分片个数,
如果没有指定,那么就会采用默认值。默认值就是程序所分配到的
CPU Core
的数目。
2
)一个计算每个分区的函数。
Spark
中
RDD
的计算是以分片为单位的,每个
RDD
都会实现
compute
函数以达到这个目的。
compute
函数会对迭代器进行复合,不需要保存每次计算的
结果。