博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SparkEnv 是什么?有什么作用?
阅读量:4072 次
发布时间:2019-05-25

本文共 1631 字,大约阅读时间需要 5 分钟。

前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见

正文

Spark 对任务的计算都依托于 Executor 的能カ,所有的 Executor 都有自己的 Spark 执行环境 SparkEnv 。

有了 SparkEnv ,就可以将数据存储在存储体系中,就能利用计算引对计算任务进行处理,就可以在节点间进行通信等。

SparkEnv 还提供了多种多样的内部组件,实现不同的功能。

SparkEnv 是一个很重要的组件,虽然在创建 SparkContext 的时候也涉及它(只是因为 local 模式的需要),但是它与 Executor 的关系则更为紧密。

SparkEnv 源码类注释 (3.2.0-SNAPSHOT)

/** * 开发者 API(指面向开发者的低层次不稳定的 API) *  * 保存正在运行的Spark实例( master 或者 worker )的所有运行时环境对象, *  * 包括序列化器、RpcEnv、块管理器、map 输出跟踪器等。 *  * 当前Spark代码通过全局变量查找SparkEnv,因此所有线程都可以访问相同的SparkEnv。 *  * 可以通过 SparkEnv.get 访问它(例如,在创建SparkContext之后)。 *  * @param executorId executor 的 ID * @param rpcEnv RPC 环境 * @param serializer 序列化器 * @param closureSerializer 闭包序列化器 * @param serializerManager 序列化器管理者 * @param mapOutputTracker map 输出的追踪器,Shuffle 时会用到 * @param shuffleManager Shuffle 管理者 * @param broadcastManager 广播变量管理者 * @param blockManager 块管理者 * @param securityManager 安全管理者 * @param metricsSystem 度量系统 * @param memoryManager 内存管理者 * @param outputCommitCoordinator 输出提交协调者 * @param conf Spark 的配置对象 */@DeveloperApiclass SparkEnv (    val executorId: String,    private[spark] val rpcEnv: RpcEnv,    val serializer: Serializer,    val closureSerializer: Serializer,    val serializerManager: SerializerManager,    val mapOutputTracker: MapOutputTracker,    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

转载地址:http://ekgji.baihongyu.com/

你可能感兴趣的文章
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>
企业云盘如何助力商业新发展
查看>>
医疗行业运用企业云盘可以带来什么样的提升
查看>>
媒体广告业如何运用云盘提升效率
查看>>
IOS开发的开源库
查看>>
IOS开发的开源库
查看>>
Jenkins - sonarqube 代码审查
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成(一)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 高可用集群部署(三)
查看>>
Linux 粘滞位 suid sgid
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform皮肤控件IrisSkin4.dll使用
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
nodejs Stream使用中的陷阱
查看>>