Spark内核设计的艺术:架构设计与实现
上QQ阅读APP看书,第一时间看更新

1.4 Spark源码编译与调试

1. 下载Spark源码

首先,访问Spark官网http://spark.apache.org/,如图1-21所示。

图1-21 Spark官网

点击Download Spark按钮,在下一个页面找到Git地址,如图1-22所示。

图1-22 Spark官方Git地址

笔者在当前用户目录下创建Source文件夹作为放置Spark源码的地方,进入此文件夹并输入git clone git://github.com/apache/spark.git命令将源码下载到本地,如图1-23所示。

图1-23 下载Spark源码

2. 构建Scala应用

进入Spark根目录,执行sbt命令。然后会下载和解析很多Jar包,要等待一段时间,笔者大概花费了一个多小时才执行完,如图1-24所示。

图1-24 构建Scala应用

从图1-24中可以看出,sbt构建完毕时会出现提示符“>”。

3. 使用sbt生成Eclipse工程文件

在sbt命令出现提示符“>”后,输入eclipse命令,开始生成Eclipse工程文件,也需要花费很长的时间,笔者大致花费了40分钟。完成时的状况如图1-25所示。

图1-25 sbt编译过程

现在我们查看Spark下的子文件夹,发现其中都生成了.project和.classpath文件。比如mllib项目下就生成了.project和.classpath文件,如图1-26所示。

图1-26 sbt生成的项目文件

4. 编译Spark源码

由于Spark使用Maven作为项目管理工具,所以需要将Spark项目作为Maven项目导入到Eclipse中,如图1-27所示。

图1-27 导入Maven项目

点击Next按钮进入下一个对话框,如图1-28所示。

图1-28 选择Maven项目

全选所有项目,点击finish按钮,这样就完成了导入,如图1-29所示。

图1-29 导入完成的项目

导入完成后,需要设置每个子项目的Build Path。右击每个项目,选择Build Path→Configure Build Path命令,打开Java Build Path对话框,如图1-30所示。

图1-30 Java构建路径

Eclipse在对项目编译时,可能会出现很多错误,只要仔细分析报错原因就能一一排除。所有错误解决后运行mvn clean install,如图1-31所示。

图1-31 编译成功

5. 调试Spark源码

以Spark源码自带的JavaWordCount为例,介绍如何调试Spark源码。右击JavaWordCount.java,选择Debug As→Java Application命令即可。如果想修改配置参数,右击JavaWordCount.java,选择Debug As→Debug Configurations命令,从打开的对话框中选择JavaWordCount,在右侧区域可以修改Java执行参数、JRE、classpath、环境变量等配置,如图1-32所示。

图1-32 源码调试

读者也可以在Spark源码中设置断点,进行跟踪调试。