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相关推荐

  1. spark学习-34-Spark的BroadcastManager广播管理器

    1.Broadcast就是将数据从一个节点发送到其他的节点上.例如Driver上有一张表,而Executor中的每个并行执行的Task(100万个)都要查询这张表,那我们通过Broadcast的方式就 ...

  2. Spark 源码分析

    2019独角兽企业重金招聘Python工程师标准>>> 一. 启动篇 (一) 引子 在spark-shell终端执行 val arr = Array(1,2,3,4) val rdd ...

  3. sparkContext之一:sparkContext的初始化分析

    Spark源码学习:sparkContext的初始化分析 spark可以运行在本地模式local下,可以运行在yarn和standalone模式下,但是本地程序是通过什么渠道和这些集群交互的呢?那就是 ...

  4. Spark源码分析 – SparkEnv

    SparkEnv在两个地方会被创建, 由于SparkEnv中包含了很多重要的模块, 比如BlockManager, 所以SparkEnv很重要  Driver端, 在SparkContext初始化的时 ...

  5. spark变量使用broadcast、accumulator

    broadcast 官方文档描述: Broadcast a read-only variable to the cluster, returning a [[org.apache.spark.broa ...

  6. 如何使用LocalBroadcastManager?

    如google docs和Service broadcast doc中所述,如何使用/定位LocalBroadcastManager ? 我试图谷歌它,但没有可用的代码开始? 文件说如果我想在我的应用 ...

  7. Apache Spark源码走读之6 -- 存储子系统分析

    Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互 ...

  8. Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)

    1.rdd持久化 2.广播 3.累加器 1.rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/loca ...

  9. 环信ease-sdk-3.3.4_r1 集成用户头像 昵称功能的简单处理方法

    环信服务器并不保存用户的头像用户名,但实际开发需要设置用户昵称头像.下面提供一个简单的办法设置用户的头像昵称,这里的头像昵称从自己的服务器获取的并且保存到本地. 1.服务端的设计 服务端设计比较简单, ...

最新文章

  1. c语言中仅分号,问什么C程序里总是提示缺少分号;,而明明有分号?
  2. c语言函数调用水仙花数,(指针+函数)的水仙花数怎么写??
  3. 编程中的那些容易迷糊的小知识
  4. java源码编译指令
  5. socket网络编程(tcp udp)
  6. 打开计算机显示服务器失败,win10系统打开windows Media player提示服务器运行失败的详细步骤...
  7. 【解决】电脑开给手机开热点问题
  8. ARM汇编之kile环境
  9. 湖南农业大学有计算机应用,计算机应用基础复习资料–湖南农业大学.doc
  10. 深度理解PHP执行流程
  11. ubuntu下exiftool安装
  12. 飞车手游显示服务器连接失败怎么办,QQ飞车手游拉取服务器失败 请检查网络稍后重试...
  13. HTML5 网页添加背景音乐
  14. 小科普:说说ANT+和蓝牙4.0的那些事
  15. Debian系统下安装Aria2
  16. Apache Superset可视化数据大屏
  17. 陪伴java多年,学完ssm后我也迷茫了很久
  18. 阜阳市计算机学校补课,阜阳一学校要求学生交三千元买电脑 教育局已叫停并责令整改...
  19. 寻找最大的钻石有多难
  20. 80psi等于多少kpa_80psi的压力是多少

热门文章

  1. [Vue]@keyup.enter不起作用
  2. (Java) 实现打印菱形图案
  3. 【用过的抢票软件汇总】
  4. 弱电布线工程实战攻略
  5. java jtextarea 事件_JTextArea事件处理
  6. 南研所前辈对华为的认识
  7. jrtplib库的使用
  8. 一文搞定Nginx的安装与高可用配置
  9. DirectX、DirectShow关系等
  10. JS基础-一个完美的递归函数