本篇文章主要剖析Spark的内存管理体系。 在上篇文章 spark 源码分析之十四 -- broadcast 是如何实现的?中对存储相关的内容没有做过多的剖析,下面计划先剖析Spark的内存机制,进而进入内存存储,最后再剖析磁盘存储。本篇文章主要剖析内存管理机制。 整体介绍 Spark内存 ...
上篇spark 源码分析之十五 Spark内存管理剖析讲解了Spark的内存管理机制,主要是MemoryManager的内容。跟Spark的内存管理机制最密切相关的就是内存存储,本篇文章主要介绍Spark内存存储。 总述 跟内存存储的相关类的关系如下: MemoryStore是负责内存存储的类,其依赖于BlockManager SerializerManager BlockInfoManager ...
2019-07-18 21:49 0 515 推荐指数:
本篇文章主要剖析Spark的内存管理体系。 在上篇文章 spark 源码分析之十四 -- broadcast 是如何实现的?中对存储相关的内容没有做过多的剖析,下面计划先剖析Spark的内存机制,进而进入内存存储,最后再剖析磁盘存储。本篇文章主要剖析内存管理机制。 整体介绍 Spark内存 ...
上篇文章 spark 源码分析之十六 -- Spark内存存储剖析 主要剖析了Spark 的内存存储。本篇文章主要剖析磁盘存储。 总述 磁盘存储相对比较简单,相关的类关系图如下: 我们先从依赖类 DiskBlockManager 剖析 ...
集群各个节点的底层通信环境,可以参照文章 spark 源码分析之十二--Spark RPC剖析之Spa ...
RpcEndpoint 文档对RpcEndpoint的解释:An end point for the RPC that defines what functions to trigger given ...
对SerializerManager的说明: 它是为各种Spark组件配置序列化,压缩和加密的组件,包括自动选择用于shuffle的Serializer。spark中的数据在network IO 或 local disk IO传输过程中。都需要序列化。其默认的 Serializer ...
在前面源码剖析介绍中,spark 源码分析之二 -- SparkContext 的初始化过程 中的SparkEnv和 spark 源码分析之四 -- TaskScheduler的创建和启动过程 中的ClientApp启动过程中,都涉及到了Spark的内置RPC的知识。本篇专门把RPC 拿出来剖析 ...
终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口。 先来介绍一下Spark-shell是什么 ...
本章导读 RDD作为Spark对各种数据计算模型的统一抽象,被用于迭代计算过程以及任务输出结果的缓存读写。在所有MapReduce框架中,shuffle是连接map任务和reduce任务的桥梁。map任务的中间输出要作为reduce任务的输入,就必须经过shuffle,shuffle的性能优劣 ...