【发布时间】:2017-06-25 15:35:31
【问题描述】:
我试图了解 Spark 是如何在底层对依赖项进行洗牌的。因此我有两个问题:
-
在 Spark 中,执行程序如何知道它必须从哪些其他执行程序中提取数据?
- 是否每个执行器在完成其地图端任务后,将其状态和位置更新到某个中心实体(可能是驱动程序)并减少端执行器首先联系驱动程序以获取每个执行器的位置 从那些执行者那里直接拉取然后再拉取?
-
在具有 shuffle 依赖性的作业中,驱动程序是否仅在所有 map 端任务完成后才安排加入(或其他依赖于 shuffle 的任务)?
- 是否意味着每个任务都会通知驱动程序其状态,驱动程序会及时编排其他依赖的任务。
【问题讨论】:
标签: apache-spark