Idea 编译并运行 Spark 3.1.1 源码的方法

 更新时间:2022年11月18日 15:36:47   作者:shixiaomingye  
这篇文章主要介绍了Idea 编译并运行 Spark 3.1.1源码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Idea 编译并运行 Spark 3.1.1 源码

1、下载源码

直接使用 idea clone spark 源码,git 地址: https://github.com/apache/spark.git

如果网络连接不上github的话可以去官网下载源码压缩包。下载地址:https://archive.apache.org/dist/spark/

clone 或 import 之后会有 maven 和 sbt 两个选项导入,直接识别成 maven 项目,checkout自己需要的版本,我本次编译版本为3.1分支

2、编译源码

直接使用 idea 页面 ui 编译,找到 Spark Project Parent POM 然后点击 clean 和 package,勾选上 skipTest。

编译过程中,报了如下异常:

这是maven插件的问题,我们跳过这个的功能,使用如下maven 语句编译:

mvn clean package -DskipTests  -Denforcer.skip=true

编译过程中,又抛了如下异常:

Execute failed: java.io.IOException: Cannot run program “bash” (in directory “D:\Develop\workspace\spark\core”): CreateProcess error=2, 系统找不到指定的文件。

这个是本地Windows环境不能执行bash导致的,需要本机安装Git工具, 将git路径添加到系统环境变量 Path 中,然后重启电脑就可以解决。

之后就等待编译完成即可,可能时间有点长,15分钟左右。

3、运行源码

尝试根据官网案例运行代码

运行 ./bin/run-example SparkPi 10 命令报找不到 HADOOP_HOME,配置一下HADOOP_HOME,然后重启电脑即可。

配置完成之后,运行成功

spark shell 也可以正常启动,证明我们的代码可以正常运行了,更多的操作就留给大家自己操作了,下面就可以正常的进行代码debug查看源码了。

到此这篇关于Idea 编译并运行 Spark 3.1.1 源码的文章就介绍到这了,更多相关Idea 编译运行 Spark内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • servlet创建web后端程序的示例代码

    servlet创建web后端程序的示例代码

    本文主要介绍了servlet创建web后端程序的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • SpringBoot属性注入的多种方式实例

    SpringBoot属性注入的多种方式实例

    在 SpringBoot中,提供了一种新的属性注入方式,支持各种java基本数据类型及复杂类型的注入,下面这篇文章主要给大家介绍了关于SpringBoot属性注入的多种方式,需要的朋友可以参考下
    2021-10-10
  • MyBatis使用动态SQL标签的小陷阱

    MyBatis使用动态SQL标签的小陷阱

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,MyBatis越来越受大家的喜爱了。下面给大家分享MyBatis使用动态SQL标签的小陷阱,感兴趣的朋友一起看看吧
    2016-10-10
  • springboot配置文件绑定实现解析

    springboot配置文件绑定实现解析

    这篇文章主要介绍了springboot配置文件绑定实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • SpringBoot3.x中spring.factories SPI 服务发现机制的改变问题小结

    SpringBoot3.x中spring.factories SPI 服务发现机制的改变问题小结

    spring.factories其实是SpringBoot提供的SPI机制,底层实现是基于SpringFactoriesLoader检索ClassLoader中所有jar引入的META-INF/spring.factories文件,这篇文章主要介绍了SpringBoot3.x中spring.factories SPI 服务发现机制的改变,需要的朋友可以参考下
    2023-05-05
  • 去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告的教程图解

    去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告的教程图解

    本文通过图文并茂的形式给大家介绍了去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告的教程,需要的朋友可以参考下
    2018-06-06
  • 在SpringBoot中,如何使用Netty实现远程调用方法总结

    在SpringBoot中,如何使用Netty实现远程调用方法总结

    我们在进行网络连接的时候,建立套接字连接是一个非常消耗性能的事情,特别是在分布式的情况下,用线程池去保持多个客户端连接,是一种非常消耗线程的行为.那么我们该通过什么技术去解决上述的问题呢,那么就不得不提一个网络连接的利器——Netty,需要的朋友可以参考下
    2021-06-06
  • SpringBoot3整合mybatis-plus的实现

    SpringBoot3整合mybatis-plus的实现

    MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,本文主要介绍了Mybatis-Plus3.x的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • SpringCloud之Admin服务监控实现流程示例详解

    SpringCloud之Admin服务监控实现流程示例详解

    这篇文章主要为大家介绍了SpringCloud之Admin服务监控流程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • SpringBoot接入钉钉自定义机器人预警通知

    SpringBoot接入钉钉自定义机器人预警通知

    本文主要介绍了SpringBoot接入钉钉自定义机器人预警通知,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论