Advertisement

Spark的广播变量和累加器及其WebUI界面

阅读量:

Spark广播变量、累加器、WebUI

一、广播变量

使用原因及优点

Driver将N个任务提交给Excutor。每个Excutor将携带N个任务的内存副本。每个发送的任务都会对应一个Driver端的副本存储。为了应对这一问题,请使用广播变量。

每当在Driver端为某个变量添加广播标签时, Executor将负责管理和分配广播资源给各个节点. 在新的task任务被提交至Executor执行前, 系统会自动检查这些资源是否已经被分配完毕. 如果发现有可用资源, 则直接利用这些已有的广播信息.

​ 优点:Driver提交N个task到Excutor,Excutor会产生一个内存来处理

原理图

在这里插入图片描述

注意事项

广播变量的值仅能在Driver阶段进行初始化,在Executor中被应用,并且无法在Excutor环境中进行任何修改操作

​ 不能将RDD广播出去,可以将结果广播出去,rdd.collect()

代码

复制代码
    val conf = new SparkConf().setAppName("broa

全部评论 (0)

还没有任何评论哟~