转型和行动的火花工作在哪里完成?

时间:2016-10-09 18:10:21

标签: apache-spark action transformation worker master

我一直在使用Spark + Python完成一些作品,这很棒,但我脑子里有一个问题:

变革和行动的火花工作在哪里? 转换作业是在Spark Master(或Driver)中完成的,而Action(Executors)中的动作作业是完成的,或者两者都在Workers(Executors)中完成

由于

3 个答案:

答案 0 :(得分:1)

  

Workers(aka slaves)正在运行执行程序所在的Spark实例   执行任务。

转换是在worker处执行的,当调用action方法时,计算出的数据将被带回驱动程序。

enter image description here

Spark中的申请分三步执行:

1.创建RDD图,即RDD的DAG (directed acyclic graph)来表示整个计算。

2.创建阶段图,即基于RDD图的逻辑执行计划DAG of stages。通过在随机边界处破坏RDD图来创建阶段。

3.根据计划,schedule and execute 关于工人的任务

答案 1 :(得分:0)

转换在执行者处运行。

操作在执行程序和驱动程序上运行。大多数工作仍在执行程序中进行,但最终的步骤如减少输出在驱动程序中执行。

答案 2 :(得分:0)

当在RDD上调用任何操作时,Spark会创建DAG并提交给DAG调度程序。

DAG调度程序将运算符划分为任务阶段。阶段由基于输入数据的分区的任务组成。 DAG调度程序将运营商连接在一起。

将阶段传递给任务计划程序。任务计划程序通过集群管理器启动任务。(Spark Standalone / Yarn / Mesos)。任务调度程序不了解阶段的依赖关系。

  

在Workers(执行者)上执行任务(转换)   当调用action(take / collect)时,它会带回数据   驱动程序。