一、宽窄依赖
窄依赖:父RDD的一个分区数据全部发往子RDD的一个分区
宽依赖:父RDD的一个分区数据发往子RDD的多个分区,也称为shuffle
二、Spark是如何进行内存计算的?DAG的作用?Stage阶段划分的作用?
(1)Spark生成DAG图
(2)基于宽窄依赖对DAG图进行阶段划分
(3)每个stage内部都是窄依赖,窄依赖内,前后形成1:1的分区关系,一个stage的多个并行任务就成为了多个内存迭代计算管道
(4)这些内存迭代计算的管道,就是一个个具体的执行Task
(5)一个Task是一个具体的线程,任务跑在一个线程之中,就是走内存计算了。