RDD只能基于在稳定物理存储中的数据集和其他已有的RDD上执行确定性操作来创建。能从其他RDD通过确定操作创建新的RDD的原因是RDD含有从其他RDD衍生(即计算)出本RDD的相关信息(即Lineage)。Dependency代表了RDD之间的依赖关系,即血缘(Lineage),分为窄依赖和宽依赖。 根据RDD依赖关系的不同,Spark将每一个job分为不同的stage,stage之间的依赖关系形成了DAG图。对于窄依赖,Spark将其尽量划分在同一个stage中,因为它们可以进行流水线计算,而宽依赖往往意味着shuffle操作,这也是Spark划分stage的主要边界。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。