1.如果父RDD里的一个partition只去向一个子RDD里的partition为窄依赖,否则为宽依赖(只要是shuffle操作)。
2.spark根据算子判断宽窄依赖:
窄依赖:map,filter,union
宽依赖:groupByKey,join
3.宽窄依赖用于切割 action算子生成的工作(job):
根据宽依赖(shuffle )一个job会被切分成多个stage(阶段)去执行,一个stage包含多个task。
一个partition的一条流水线(pipeline)操作,被封装为一个task(任务)即集群计算的最小单元。
尽量减少shuffle。
4.DAG(有向无环图):
窄依赖不分stage也就是DAG优化,
本文介绍了Spark中宽窄依赖的概念及其对作业调度的影响。详细解释了如何通过不同的算子如map、filter等来区分窄依赖,以及groupByKey、join等算子导致的宽依赖。此外还介绍了如何利用这些概念来优化Spark作业。
2814

被折叠的 条评论
为什么被折叠?



