话一句
首先建议大家首先有一定的Spark基础,再来看源码。相信会学到更多的东西,尤其是整个App的运行过程,Spark的运行流程。
今天弄了一天,总算是弄好了。花费时间最多的就是在编译Spark。整个过程不是在排错就是在排错的路上。话不多说,直接说具体怎么搭建,同时也方便自己以后查阅。
准备工作:安装并下载一些必要的工具,本人使用的操作系统是Win10
1. JAVA1.8
2.Scala2.11.12
3.Maven3.5.3
4.git2.17.0
5.Spark2.2.1源码
6.Intellij IDEA 2017
Spark源码下载:
下载地址:
http://spark.Apache.org/downloads.html
选择Source Code进行源码下载。
开始编译Spark
下载好源码之后,然后将其解压,使用cmd命令,进入到Spark的源码目录下进行mvn的编译。
在这里我们介绍下一个少走坑路的命令,我也是踩了很多坑才在StackOverflow上找到的。
使用命令:mvn -Dscala-2.11.12 -DskipTests clean package
进行Spark的编译,在这里指定自己下载安装好的Scala版本,主要是防止和spark里面的Scala版本不一致。
在编译过程中遇到的错误:
然后使用IDEA打开源代码编译后的目录。
菜单栏--> File --> Open --> 选择根目录下的pom.xml。然后确定就行了,等待idea加载环境。
运行demo代码:
在这里我们运行Pi这个例子。
首先我们先将依赖工程依赖添加进去。
添加Scala依赖
然后能打开这样一个窗口。
在这里可以添加Java依赖也可以添加Scala的依赖。
然后我们还需要添加scala的一些依赖Jar。
然后选择Spark根目录下的
assembly/target/scala-2.11/jars/
就ok拉。
做好这些之后,我们就开始运行Pi程序吧。
他说我们没有指定MasterURL,需要在config中配置。
RUN --> Edit Configurations
然后运行。
这样我们的PI就出来了。
当然也可以手动在代码中指定master的地址哈。比如说这样:
我试过也是可以的哈。
然后就可以单步调试代码,阅读源码了。