转型和行动的火花工作在哪里完成?
where is the spark job of transformation and action done?
一直在用Spark + Python完成一些作品,很不错,但是我有一个疑问:
转换和行动的火花工作在哪里完成?
转换工作是在 Spark Master(或 Driver)中完成,而 action 工作是在 Workers(Executors)中完成,还是两者都在 Workers(Executors)中完成
谢谢
执行者的转换运行。
执行者和驱动程序的操作 运行。大部分工作仍在执行器中进行,但减少输出等最终步骤在驱动程序中执行。
当对 RDD 调用任何操作时,Spark 会创建 DAG 并提交给 DAG 调度程序。
DAG 调度器将算子划分为任务的阶段。一个阶段由基于输入数据分区的任务组成。 DAG 调度程序将运算符流水线化在一起。
阶段被传递到任务 Scheduler.The 任务调度程序通过集群管理器启动任务。(Spark Standalone/Yarn/Mesos)。任务调度程序不知道阶段的依赖关系。
The tasks(transformation) executes on the Workers(Executors)
and when action(take/collect) is called it brings back the data at the
Driver.
Workers (aka slaves) are running Spark instances where executors live
to execute tasks.
转换在 worker 上执行,当调用 action 方法时,计算的数据被带回驱动程序。
Spark
中的应用程序分三步执行:
1.Create RDD 图,即 DAG (directed acyclic graph)
个 RDD 来表示整个计算。
2.Create阶段图,即DAG of stages
是一个基于RDD图的逻辑执行计划。阶段是通过在洗牌边界打破 RDD 图来创建的。
3.Based 计划,schedule and execute
工人任务。
一直在用Spark + Python完成一些作品,很不错,但是我有一个疑问:
转换和行动的火花工作在哪里完成? 转换工作是在 Spark Master(或 Driver)中完成,而 action 工作是在 Workers(Executors)中完成,还是两者都在 Workers(Executors)中完成
谢谢
执行者的转换运行。
执行者和驱动程序的操作 运行。大部分工作仍在执行器中进行,但减少输出等最终步骤在驱动程序中执行。
当对 RDD 调用任何操作时,Spark 会创建 DAG 并提交给 DAG 调度程序。
DAG 调度器将算子划分为任务的阶段。一个阶段由基于输入数据分区的任务组成。 DAG 调度程序将运算符流水线化在一起。
阶段被传递到任务 Scheduler.The 任务调度程序通过集群管理器启动任务。(Spark Standalone/Yarn/Mesos)。任务调度程序不知道阶段的依赖关系。
The tasks(transformation) executes on the Workers(Executors) and when action(take/collect) is called it brings back the data at the Driver.
Workers (aka slaves) are running Spark instances where executors live to execute tasks.
转换在 worker 上执行,当调用 action 方法时,计算的数据被带回驱动程序。
Spark
中的应用程序分三步执行:
1.Create RDD 图,即 DAG (directed acyclic graph)
个 RDD 来表示整个计算。
2.Create阶段图,即DAG of stages
是一个基于RDD图的逻辑执行计划。阶段是通过在洗牌边界打破 RDD 图来创建的。
3.Based 计划,schedule and execute
工人任务。