spark accumulators - 在执行程序中执行,与驱动程序中执行的代码相同

时间:2017-09-26 03:10:16

标签: apache-spark

如“Spark In Action”一书中提到的那样,

  

您只能从驱动程序中访问累加器的值。如果您尝试从执行程序访问它,则会抛出异常。

我正在学习火花并遇到上述问题。如何区分或识别执行程序中执行的代码与驱动程序中执行的代码。

此外,作者使用以下代码引用了上述代码

https://i.imgur.com/aWx1nAs.png

1 个答案:

答案 0 :(得分:2)

转换器在执行器上运行&动作在驱动程序上运行其他单词任务(转换)在Workers(Executors)上执行,并且当调用action(take / collect)时,它会在Driver上返回数据。返回价值。

当在RDD上调用任何操作时,Spark创建DAG并提交给DAG调度程序,DAG调度程序将操作符分为任务阶段。阶段由基于输入数据的分区的任务组成。 DAG调度程序将运营商连接在一起。

将阶段传递给任务计划程序。任务计划程序通过集群管理器启动任务。(独立/纱线/ Mesos)。