本文旨在帮助那些想要对Spark有更深入了解的工程师们,了解Spark源码的概况,搭建Spark源码阅读环境,编译.调试Spark源码,为将来更深入地学习打下基础. 一.项目结构 在大型项目中,往往涉及非常多的功能模块,此时借助于Maven进行项目.子项目(模块)的管理,能够节省很多开发和沟通成本.整个Spark项目就是一个大的Maven项目,包含着多个子项目.无论是Spark父项目还是子项目,本身都可以作为独立的Maven项目来管理.core是Spark最为核心的功能模块,提供了RPC框架.度…