Spark Core 源码阅读笔记

1,242 阅读1分钟

写在前面

第一次写技术博客,心情十分紧张,虽然可能没有什么人看,虽然可能写的逻辑不同,虽然可能写的有错误,但,还是决定勇敢的写出来。纪念以下

Spark Core 源码阅读笔记

本系列基于Spark-core 2.3.3,scala 2.11 使用IDEA+Maven搭建源码阅读环境 maven所依赖的netty版本为4.1.17-Final

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.3.3</version>
</dependency>

源码阅读笔记思路

最开始,阅读源码的目的是想了解一下Spark是如何进行分布式计算的,以及本着对RPC的兴趣,想搞清楚Spark底层是如何进行RPC通讯的。

但是发现Spark底层是使用基于NIO的Netty作为底层网络模块的,于是就半路去学习了Netty的源码。在本系列中,重点在于Spark,而不在于Netty网络框架,所以,在源码阅读中只涉及必须的Netty应用知识,不会过多提及netty底层。 在了解了java NIO以及netty之后,开始着手研究Spark core的源码。本着搞清楚每一个进程、每一个基本组件的原则,按照Spark环境启动、执行任务的顺序,源码阅读分为以下几部分:

如有错误,欢迎批评指出