Spark架构设计
1.架构设计图
2.相关术语
1.RDD (Resilient Distributed DataSet)
弹性分布式数据集,是对数据集在spark存储和计算过程中的一种抽象
是一组只读、可分区的分布式数据集合
一个RDD包含多个分区Partition(类似于MapReduce中的InputSplit),分区是根据一定规则的,将具有相同规则的属性的数据记录放在一起
横向可切分并行计算,以分区Partition为切分后的最小存储和计算单元
纵向可进行内外存切换使用,即当内存不足时,可以用外存磁盘来补充
2.Partition(分区)
Partition类似于hadoop的Split,计算是以partition为单位进行计算的,提供了一种划分数据的方式
partition的划分依据有很多,常见的有Hash分区,范围分区等,也可以自己定义,像HDFS文件,划分的方式就和MapReduce一样,以文件的block来划分不同的parttion.
一个Partition交给一个Task去计算处理
3.算子
英文名称:Operator,简称op
广义上,对任何函数进行某一项操作都可以任务是一个算子
通俗上,算计即为映射、关系、变换
MapReduce