spark搭建源码阅读环境

如题:
怎样编译spark源码方便读呢?首先当然是先去官网或者github上下载spark源码包,这里附上官网地址spark-2.4.5下载
下载好spark源码包以后解压,然后编译一下导入IDEA就可以愉快的看源码了,怎样编译呢?
这里以windows 10举例。

环境准备

首先要搭建好需要的环境,比如scala,maven和java,我的环境是1.8的java,2.11.11的scala以及3.6.1的maven。
打开解压后的spark源码文件夹,找到pom文件,文件夹中的pom文件有很多,这里的pom文件指的是根目录下的pom文件。找到并打开,找到<scala.version>,<maven.version>,<java.version>并修改成对应自己搭建的版本。
在这里插入图片描述
在这里插入图片描述

编译spark源码

修改完了pom文件之后,可以编译了,打开windows黑窗口,即菜单键+R执行cmd命令,打开黑窗口之后,进入到解压的spark源码文件夹根目录下,执行下面的命令:

mvn -DskipTests clean package

具体见官网搭建spark

然后慢慢等就好了,编译的时间会比较长。

编译遇到的问题

在黑窗口执行编译命令之后可能会报错,信息如下:
1.

An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program “bash”: CreateProcess error=2, 系统找不到指定的文件。
[ERROR] around Ant part …… @ 4:27 in F:\IdeaWorkspace\spark-2.3.4\core\target\antrun\build-main.xml

这是因为黑窗口不能执行bash命令,我用的是git bash,去官网下载安装一个git安装就行,链接git官网下载
安装好git之后,在桌面点击鼠标右键点击get bash here即可打开git窗口,在窗口内重新执行编译命令即可。

哦对了,编译之前建议把pom文件中的下载jar包的镜像地址改成国内的,不然网速可能有点慢。

<!--<repository>
      <id>gcs-maven-central-mirror</id>
      
        Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central.
        See https://storage-download.googleapis.com/maven-central/index.html
      
      <name>GCS Maven Central mirror</name>
      <url>https://maven-central.storage-download.googleapis.com/repos/central/data/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      
        This is used as a fallback when the first try fails.
      
      <id>central</id>
      <name>Maven Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository> -->
	
	<repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>

下面的也要改,

<!--<pluginRepository>
      <id>gcs-maven-central-mirror</id>
      
        Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central.
        See https://storage-download.googleapis.com/maven-central/index.html
      
      <name>GCS Maven Central mirror</name>
      <url>https://maven-central.storage-download.googleapis.com/repos/central/data/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>central</id>
      <url>https://repo.maven.apache.org/maven2</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository> -->
	<pluginRepository>
        <id>aliyun</id>
        <name>aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>

编译成功的样子就是这样的。
在这里插入图片描述
然后就可以把编译后的文件夹导入IDEA,愉快的学习了。。。。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值