BroadcastManager 广播管理器
BroadcastManager 负责Broadcast的创建和销毁
Broadcast为广播变量,官方解释是广播变量允许程序员保留只读变量缓存在每台计算机上,而不是将其副本与任务一起发送。例如它们可以用来,以高效的方式为每个节点提供一个大型输入数据集的副本。
在spark运行时若excutor需要外部变量,可以将变量广播到excutor中。
源码清单和我的理解注释
// Called by SparkContext or Executor before using Broadcast
//会在使用Broadcast之前被SparkContext 或者Executor 调用初始化函数
private def initialize() {
synchronized {
if (!initialize