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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决springboot启动报错bean找不到的问题

    解决springboot启动报错bean找不到的问题

    这篇文章主要介绍了解决springboot启动报错bean找不到原因,本文给大家分享完美解决方案,通过图文相结合给大家介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 关于Java语法糖以及语法糖的原理和用法

    关于Java语法糖以及语法糖的原理和用法

    这篇文章主要介绍了关于Java什么是语法糖以及语法糖的种类,也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用,需要的朋友可以参考下
    2023-05-05
  • java中break和continue源码解析

    java中break和continue源码解析

    这篇文章主要针对java中break和continue的区别进行详细介绍,帮助大家更好的学习了解java中break和continue源码,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 使用maven-archetype-plugin现有项目生成脚手架的方法

    使用maven-archetype-plugin现有项目生成脚手架的方法

    这篇文章主要介绍了使用maven-archetype-plugin现有项目生成脚手架的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • springboot整合ACTable生成数据库表方式

    springboot整合ACTable生成数据库表方式

    ACTable是一个增强Mybatis的功能框架,支持SpringBoot和SpringMvc项目,通过配置model注解即可创建、修改表结构,并实现了共通的CRUD功能
    2025-02-02
  • Java遍历json字符串取值的实例

    Java遍历json字符串取值的实例

    下面小编就为大家分享一篇Java遍历json字符串取值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • PowerJob的OmsLogHandler工作流程源码解析

    PowerJob的OmsLogHandler工作流程源码解析

    这篇文章主要为大家介绍了PowerJob的OmsLogHandler工作流程源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • java 读取文件路径空格、

    java 读取文件路径空格、"+"和中文的处理方法

    今天小编就为大家分享一篇java 读取文件路径空格、"+"和中文的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Centos中yum方式安装java的实现示例

    Centos中yum方式安装java的实现示例

    这篇文章主要介绍了Centos中yum方式安装java的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Quartz集群原理以及配置应用的方法详解

    Quartz集群原理以及配置应用的方法详解

    Quartz是Java领域最著名的开源任务调度工具。Quartz提供了极为广泛的特性如持久化任务,集群和分布式任务等,下面这篇文章主要给大家介绍了关于Quartz集群原理以及配置应用的相关资料,需要的朋友可以参考下
    2018-05-05

最新评论