您的位置:首页 > 其它

文章标题

2017-07-13 14:11 190 查看
一)准备源代码

下载代码(使用git)

git clone https://github.com/apache/spark.git

切换合适的branch版本(2.1.0)

➜ spark git:(master) git tag 查看分支列表

➜ spark git:(master) git checkout v2.1.0 切版本

➜ spark git:(267aca5bd5) git checkout -b pin-tag-210 创建新版本

二) 编译

设置环境变量JAVA_HOME

export JAVAHOME=/Library/Java/JavaVirtualMachines/jdk1.8.0131.jdk/Contents/Home

若没有配置JAVA_HOME,Maven会报错:Unsupported major.minor version 51.0

手动下载依赖工具

使用./build/mvn 工具进行编译,会自动下载scala、Maven和zinc。鉴于网速,该过程可能会很慢,我们可以通过手动下载这三个工具来加快整个安装过程。

得到工具下载地址

为了得到工具的下载地址,我们先执行一遍编译操作,使用四线程,跳过Test编译 ➜ spark git:(pin-tag-211) ./build/mvn -T 4 -DskipTests clean package 控制台上会显示下载地址,如下:

https://downloads.typesafe.com/zinc/0.3.9/zinc-0.3.9.tgz

https://downloads.typesafe.com/scala/2.11.8/scala-2.11.8.tgz

https://www.apache.org/dyn/closer.lua?action=download&filename=/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

鉴于网速,本次下载很大的可能性会失败。

手动下载

按照下载过程中显示的地址,或者到官网直接下载相应版本,手动下载相应工具,将文件保存在 build目录中。

配置国内Maven源

配置国内Maven仓库,可以加快编译时依赖文件的下载速度,这里使用阿里云的源。 修改maven的配置文件setting.xml文件(spark/build/apache-maven-3.3.9/conf/setting.xml),内容如下:

alimaven

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

central

正式编译

使用四线程,跳过Test编译

➜ spark git:(pin-tag-211) ./build/mvn -T 4 -DskipTests clean package

经过漫长的编译,完成。



说明:第一次编译需要下载很多Maven依赖包会很慢。

查看编译效果

运行spark shell客户端

./bin/spark-shell



运行自带样例(求pi)

➜ spark git:(pin-tag-210) ✗ spark
4000
-submit –class org.apache.spark.examples.SparkPi

–master local

./examples/target/original-spark-examples_2.11-2.1.0.jar 10



三)导入Intellij IDEA

导入工程

我们直接使用maven的pom文件来导入工程:

Menu -> File -> Open -> {spark dir}/pom.xml -> Open as Project

配置Maven

Intellij IDEA自带的有Maven,我们要将Maven切换成项目build时下载的Maven,将Maven配置成spark build时下载的Maven。

Preferences -> Build,Execution,Deployment -> Build Tools -> Maven -> Maven home directory



说明:否则会出现“maven cant resolve symbol”错误。

配置Scala SDK

添加Scala SDK

Menu -> File -> Project Structure ->Libraries





说明否则报错:



四) 在IDE中运行样例

配置依赖jar包

一般都是通过spark-submit工具来提交应用,该工具会添加运行依赖的spark jar包(前面编译阶段生成的jar包)。如果想在IDE中直接运行,则需要配置相关的jar包。具体如下:

Menu -> File -> Project Structure -> Modules -> spark-examples_2.11 -> Dependencies

添加依赖jars :

{spark dir}/spark/assembly/target/scala-2.11/jars/



打开样例代码(可选)

在{spark dir}/examples/目录下,这里以LogQuery为例.

command + o -> 输入LogQuery打开

配置运行参数:

配置spark运行模式为local

Menu -> Run -> Edit Configurations -> 选择 + -> Application



运行结果:



五)调试

单步执行

和普通的程序调试类似,设置断点后单步执行:



监控

使用jvisualvm来查看调用栈等信息:

➜ spark git:(tag-210) ✗ spark-shell

➜ ~ jvisualvm

效果如图:



参考资料:

https://github.com/linbojin/spark-notes/blob/master/ide-setup.md(主要)

https://www.zhihu.com/question/24869894/answer/97339151 (连城)

http://spark.apache.org/docs/latest/building-spark.html

http://spark.apache.org/developer-tools.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: