源码项目调试
在源代码项目对源码修改后用idea直接进行调试工作
clone源码到本地并编译
git clone git@github.com:apache/spark.git
./build/mvn -DskipTests clean package
idea导入工程
File -> Open -> {spark dir}/pom.xml -> Open as Project
过程中会出现sbt project detect,忽略这个,我们使用maven组织工程,导入完成后项目目录如下:
![12795149-52e5dac9392a6583.jpg](https://i-blog.csdnimg.cn/blog_migrate/ad378344030351f9254c7b11d6730cbc.webp?x-image-process=image/format,png)
屏幕快照 2018-07-15 下午12.37.43
运行example程序
下面尝试运行SparkSQLExample:
![12795149-71ceb7370d5f6899.jpg](https://i-blog.csdnimg.cn/blog_migrate/cd117f5fb608460d141ccd6f549f40ca.webp?x-image-process=image/format,png)
屏幕快照 2018-07-15 下午1.00.29
编辑 run configure如下:
![12795149-80f7f91dd3814c0a.jpg](https://i-blog.csdnimg.cn/blog_migrate/95d7ca33e9da80958f59c82c4cf4816d.webp?x-image-process=image/format,png)
屏幕快照 2018-07-15 下午1.14.11
-Dspark.master=local 使用local模式运行
运行之前需要做一件很重要的事情,将example的依赖全部由provided改为compile,将这些包全部打入工程中才能正常运行(也可以更改example的pom文件,但是不是很全,还会缺一些库)
![12795149-97372a1c2b1aa516.jpg](https://i-blog.csdnimg.cn/blog_migrate/40fee8ff15c56d7d2d68c1778d831a9d.webp?x-image-process=image/format,png)
屏幕快照 2018-07-15 下午3.52.30
完成这些工作后,直接就可以run了。调试也非常简单,直接加断点debug就好
![12795149-949f0a0e102ccf1e.jpg](https://i-blog.csdnimg.cn/blog_migrate/5ed51b5fdabbc3940e0dc39028bde5dc.webp?x-image-process=image/format,png)
屏幕快照 2018-07-15 下午1.49.31