作为分布式应用,Spark的数据存储在不同机器上。这就涉及到数据的传输,元数据的管理等内容。而且由于Spark可以利用内存和磁盘作为存储介质,这还涉及到了内存和磁盘的数据管理。 Spark存储体系架构 Spark存储(主要由BlockManager来完成)主要完成了写入数据块,如果需要备份 ...
本篇文章主要剖析BlockManager相关的类以及总结Spark底层存储体系。 总述 先看 BlockManager相关类之间的关系如下: 我们从NettyRpcEnv 开始,做一下简单说明。 NettyRpcEnv是Spark 的默认的RpcEnv实现,它提供了个Spark 集群各个节点的底层通信环境,可以参照文章spark 源码分析之十二 Spark RPC剖析之Spark RPC总结做深入 ...
2019-07-23 19:09 0 585 推荐指数:
作为分布式应用,Spark的数据存储在不同机器上。这就涉及到数据的传输,元数据的管理等内容。而且由于Spark可以利用内存和磁盘作为存储介质,这还涉及到了内存和磁盘的数据管理。 Spark存储体系架构 Spark存储(主要由BlockManager来完成)主要完成了写入数据块,如果需要备份 ...
上篇文章 spark 源码分析之十六 -- Spark内存存储剖析 主要剖析了Spark 的内存存储。本篇文章主要剖析磁盘存储。 总述 磁盘存储相对比较简单,相关的类关系图如下: 我们先从依赖类 DiskBlockManager 剖析 ...
上篇spark 源码分析之十五 -- Spark内存管理剖析 讲解了Spark的内存管理机制,主要是MemoryManager的内容。跟Spark的内存管理机制最密切相关的就是内存存储,本篇文章主要介绍Spark内存存储。 总述 跟内存存储的相关类的关系 ...
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的内存管理体系。 在上篇文章 spark 源码分析之十四 -- broadcast 是如何实现的?中对存储相关的内容没有做过多的剖析,下面计划先剖析Spark的内存机制,进而进入内存存储,最后再剖析磁盘存储。本篇文章主要剖析内存管理机制。 整体介绍 Spark内存 ...
在前面源码剖析介绍中,spark 源码分析之二 -- SparkContext 的初始化过程 中的SparkEnv和 spark 源码分析之四 -- TaskScheduler的创建和启动过程 中的ClientApp启动过程中,都涉及到了Spark的内置RPC的知识。本篇专门把RPC 拿出来剖析 ...
终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口。 先来介绍一下Spark-shell是什么 ...