Windows使用Idea编译spark源码
目录 需要准备环境一、将源码导入IDEA二、进行build(编译)三、可能出现问题四、gitBash中进行编译五、进行自带例子测试需要准备环境jdk1.8.0scala 2.11maven 3.5.9pythonidea中安装了scala pluinGit一、将源码导入IDEA1、在idea中安装scala插件此处我已安装完成,请注意选择...
目录
需要准备环境
jdk1.8.0
scala 2.11
maven 3.5.9
python
idea中安装了scala pluin
Git
一、将源码导入IDEA
1、在idea中安装scala插件
此处我已安装完成,请注意选择对应的版本
2、下载spark源码,并解压
官网http://spark.apache.org/downloads.html
3、打开spark源码下的pom.xml文件,修改对应的java和intellij里的maven版本
4、打开intellij,inport Project
将saprk源码添加进来
选择Maven
勾选箭头指示的选项
添加yarn和hadoop2.4选项,其他保持默认 随后一直next直至创建完成。
二、进行build(编译)
1、工程导入以后,点击右侧Maven Project,然后点击第二个按钮,Generate Sources and Update Folders For All Projects,点击后Maven会下载编译需要的源码,需要等待一段时间,长短依赖网络的好坏
2、此过程完成之后就可点击菜单的build进行编译,中间会出现一些问题,不要害怕,慢慢解决
三、可能出现问题
问题1
解决方法:
问题2、
spark\external\flume-sink\src\main\scala\org\apache\spark\streaming\flume\sink\SparkAvroCallbackHandler.scala
Error:(45, 66) not found: type SparkFlumeProtocol
解决方案:有时需要重复进行几次
问题3、
\spark\sql\catalyst\src\main\scala\org\apache\spark\sql\catalyst\parser\AstBuilder.scala
Error:(34, 45) object SqlBaseParser is not a member of package org.apache.spark.sql.catalyst.parser
import org.apache.spark.sql.catalyst.parser.SqlBaseParser._
解决方案:
类似于问题2,请参照问题2的解决方案
一般解决这三个问题后就可以编译成功,不要管警告
问题4、关于用example里的例子测试的问题
解决方案:
这个问题是需要在example model里将编译打包的jar包添加进来。后面讲Maven编译打包
四、gitBash中进行编译
为什么使用gitbash,因为在idea中编译时会出现各种各种的报错,gitbash中拥有一些idea中没有的环境。可能出现如下错误,使用gitbash即可解决
Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (default) on project spark-core_2.11: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "bash" (in directory "C:\soft\spark\spark-2.0.0\core"): CreateProcess error=2,
[ERROR] around Ant part ...<exec executable="bash">... @ 4:27 in C:\soft\spark\spark-2.0.0\core\target\antrun\build-main.xml
[ERROR] -> [Help 1]
使用gitbash进入项目的根目录下,执行下面2条命令
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
./build/mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0 -DskipTests clean package
之后便是漫长的等待了,build success,so nice
五、进行自带例子测试
Spark PI
点击edit configurations进行配置,通过名字找到SparkPi
注意如果在Use of module classpath选项中如果为空时,勾选spark-examples。
解决如下
再次执行,运行成功
参考文章
http://www.cnblogs.com/lyy-blog/p/9856824.html
https://blog.csdn.net/u011464774/article/details/76704785
更多推荐
所有评论(0)