1.简介:保存正在运行的Spark实例(主服务器或工作服务器)的所有运行时环境对象,包括序列化程序,RpcEnv,块管理器,映射输出跟踪器等。目前Spark代码通过全局变量查找SparkEnv,因此所有线程都可以 访问相同的SparkEnv。 它可以通过SparkEnv.get访问(例如在创建SparkContext之后)。
2.构造方法:
class SparkEnv (
val executorId: String, //证书,判断是驱动器环境还是执行器环境
private[spark] val rpcEnv: RpcEnv, //远程通信环境
val serializer: Serializer, //序列化器
val closureSerializer: Serializer, //关闭序列化器
val serializerManager: SerializerManager, //序列化管理器
val mapOutputTracker: MapOutputTracker, //map输出跟踪器
val shuffleManager: ShuffleManager, //拖拽管理器
val broadcastManager: BroadcastManager, //广播管理器
val blockManager: BlockManager, //块管理器
val securityManager: SecurityManager, //安全管理器
val metricsSystem: MetricsSystem, //测量系统
val memoryManager: MemoryManager, //内存管理器
val outputCommitCoordinator: OutputCommitCoordinator, //输出提交协调器
val conf: SparkConf) extends Logging
3.主要成员:
private[spark] var isStopped = false
private val pythonWorkers = mutable.
HashMap[(String, Map[String,String]),PythonWorkerFactory]()
//HadoopRDD拆分计算期间所需元数据的通用软参考映射
//(例如,HadoopFileRDD使用它来缓存JobConfs和InputFormats)。
private[spark] val hadoopJobMetadata = new MapMaker().softValues().makeMap[String, Any]()
private[spark] var driverTmpDir: Option[String] = None
4.初始化:SparkEnv.scala无初始化代码

263

被折叠的 条评论
为什么被折叠?



