1.RDD:弹性分布式数据集,弹性体现在可以在磁盘和内存间自由切
换;基于lineage(血统)的容错;task失败特定次数重试;stage失败重
试;数据分片的高度弹性(repartition)。spark的转化API将RDD封
装成一系列血缘关系的RDD,即DAG。
2.DAG:有向无环图。各个RDD之间存在着依赖关系,这些依赖关系
形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,
进行Stage划分。
3.Partition:数据分区,partition的数量决定分区的数量
4.窄依赖:子RDD依赖于父RDD中某一个固定的分区。
5.宽依赖:子RDD有可能对父RDD中所有Partition产生依赖。
6.Job:用户提交的作业。RDD及DAG提交给DAGScheduler调度后,DAGScheduler会将RDD所有转化和动作视为一个Job.一个Job由一
个到多个task组成。
7.Stage:job的执行阶段。DAGScheduler将宽依赖作为节点对RDD的DAG进行stage划分,一个job可以被划分为一个或多个Stage。
8.Task:具体执行任务。一个job在每个stage内都会按照RDD Partition
的数量创建task。
Spark基础设施:
1.sparkConf:管理Spark应用程序的各种配置信息
2.内置PRC框架:实现spark各机器节点不同组件间通信
3.事件总线:SparkContext内部各组件使用事件。
4.度量系统:完成对整个Spark集群中各组件运行期状态的监控。
网友评论