BroadcastManager
BroadcastManager 广播管理器
BroadcastManager 负责Broadcast的创建和销毁
Broadcast为广播变量,官方解释是广播变量允许程序员保留只读变量缓存在每台计算机上,而不是将其副本与任务一起发送。例如它们可以用来,以高效的方式为每个节点提供一个大型输入数据集的副本。
在spark运行时若excutor需要外部变量,可以将变量广播到excutor中。
源码清单和我的理解注释
// Called by SparkContext or Executor before using Broadcast
//会在使用Broadcast之前被SparkContext 或者Executor 调用初始化函数
private def initialize() {synchronized {if (!initialized) {broadcastFactory = new TorrentBroadcastFactorybroadcastFactory.initialize(isDriver, conf, securityManager)initialized = true}}}
//停止BroadcastManager def stop() {broadcastFactory.stop()}
//下一个Broadcast的id,每创建一个Broadcast,nextBroadcastId 增加1private val nextBroadcastId = new AtomicLong(0)
//创建Broadcastdef newBroadcast[T: ClassTag](value_ : T, isLocal: Boolean): Broadcast[T] = {broadcastFactory.newBroadcast[T](value_, isLocal, nextBroadcastId.getAndIncrement())}
//摧毁Broadcastdef unbroadcast(id: Long, removeFromDriver: Boolean, blocking: Boolean) {broadcastFactory.unbroadcast(id, removeFromDriver, blocking)}
}
BroadcastManager相关推荐
- spark学习-34-Spark的BroadcastManager广播管理器
1.Broadcast就是将数据从一个节点发送到其他的节点上.例如Driver上有一张表,而Executor中的每个并行执行的Task(100万个)都要查询这张表,那我们通过Broadcast的方式就 ...
- Spark 源码分析
2019独角兽企业重金招聘Python工程师标准>>> 一. 启动篇 (一) 引子 在spark-shell终端执行 val arr = Array(1,2,3,4) val rdd ...
- sparkContext之一:sparkContext的初始化分析
Spark源码学习:sparkContext的初始化分析 spark可以运行在本地模式local下,可以运行在yarn和standalone模式下,但是本地程序是通过什么渠道和这些集群交互的呢?那就是 ...
- Spark源码分析 – SparkEnv
SparkEnv在两个地方会被创建, 由于SparkEnv中包含了很多重要的模块, 比如BlockManager, 所以SparkEnv很重要 Driver端, 在SparkContext初始化的时 ...
- spark变量使用broadcast、accumulator
broadcast 官方文档描述: Broadcast a read-only variable to the cluster, returning a [[org.apache.spark.broa ...
- 如何使用LocalBroadcastManager?
如google docs和Service broadcast doc中所述,如何使用/定位LocalBroadcastManager ? 我试图谷歌它,但没有可用的代码开始? 文件说如果我想在我的应用 ...
- Apache Spark源码走读之6 -- 存储子系统分析
Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互 ...
- Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)
1.rdd持久化 2.广播 3.累加器 1.rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/loca ...
- 环信ease-sdk-3.3.4_r1 集成用户头像 昵称功能的简单处理方法
环信服务器并不保存用户的头像用户名,但实际开发需要设置用户昵称头像.下面提供一个简单的办法设置用户的头像昵称,这里的头像昵称从自己的服务器获取的并且保存到本地. 1.服务端的设计 服务端设计比较简单, ...
最新文章
- c语言中仅分号,问什么C程序里总是提示缺少分号;,而明明有分号?
- c语言函数调用水仙花数,(指针+函数)的水仙花数怎么写??
- 编程中的那些容易迷糊的小知识
- java源码编译指令
- socket网络编程(tcp udp)
- 打开计算机显示服务器失败,win10系统打开windows Media player提示服务器运行失败的详细步骤...
- 【解决】电脑开给手机开热点问题
- ARM汇编之kile环境
- 湖南农业大学有计算机应用,计算机应用基础复习资料–湖南农业大学.doc
- 深度理解PHP执行流程
- ubuntu下exiftool安装
- 飞车手游显示服务器连接失败怎么办,QQ飞车手游拉取服务器失败 请检查网络稍后重试...
- HTML5 网页添加背景音乐
- 小科普:说说ANT+和蓝牙4.0的那些事
- Debian系统下安装Aria2
- Apache Superset可视化数据大屏
- 陪伴java多年,学完ssm后我也迷茫了很久
- 阜阳市计算机学校补课,阜阳一学校要求学生交三千元买电脑 教育局已叫停并责令整改...
- 寻找最大的钻石有多难
- 80psi等于多少kpa_80psi的压力是多少