一、一层含义:分布式数据缓存
Spark允许开发者将分布式数据集缓存到计算节点的内存中,从而进行高效的数据访问。只有需要频繁访问的数据集才有必要用cache,对于一次性数据集使用cache会适得其反。在Spark中,内存计算有两层含义:1、分布式数据缓存;2、Stage内的流水线式计算模式。
二、二层含义:Stage内的流水线式计算模式
1、什么是DAG?
DAG(Direct Acyclic Graph)无环图,图有两个基本元素:顶点和边,在Spark的DAG中,顶点是一个个RDD,边是RDD间通过dependencies属性构成的父子关系。从开发者的视角出发,DAG的构建是通过在分布式数据集上不停调用算子来完成的。
2、Stages的划分
从DAG转换的分布式任务在分布式环境中执行,需要经过4个阶段:
- 回溯DAG并划分Stage
- 在Stages中创建分布式任务
- 分布式任务的分发