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)
还没有任何评论哟~
