编译 Apache Spark 源码报错?那是因为你漏掉了关键操作

前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系


正文

源码准备

下载 Apache Spark 源码

打开 IDEA,如下操作:

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第1张图片

如下操作,输入:

[email protected]:apache/spark.git

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第2张图片


项目构建

下载完成后,等 maven 自动构建完成(可以手动 add as maven project)

这时细心的伙伴会发现程序中有错误,缺少一些类,比如 AstBuilder 这个类,如下所示:

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第3张图片
真是一片红啊~

这时不要慌,按下面的来操作,双击 shift 输入 sqlbase,选择第一个文件 SqlBase.g4编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第4张图片

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第5张图片

点击上面的 狙神转

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第6张图片
右键 SqlBase.g4 选择 Configure ANTLR (前提是你得先装上 ANTLR v4 这个插件)

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第7张图片

只在下面图中的框选位置输入 Java,然后点击 OK

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第8张图片
在右键 SqlBase.g4 选择 Generate ANTLR Recognizer
编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第9张图片
此时 catalyst 目录下面新增了一个目录 gen
编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第10张图片
右键 gen 目录,选择 Mark Directory as - Sources Root

编译 Apache Spark 源码报错?那是因为你漏掉了关键操作_第11张图片

等一会儿,你会发现,所有的错误自动就消失了~

此时在命令行执行下面的命令就可以 BUILD SUCCESS 啦~ (前提是系统配置了同样 maven 版本号的 path)

mvn clean install -DskipTests

windows 玩家请注意,如果遇到构建错误的情况,请修改根目录下 pom.xml 文件里面 maven 的版本号,将 3.8.4 改成 3.6.3。因为 3.8.4 有点 bug,windows 系统运行会有问题。同时,windows 系统执行上面的命令会报一些 error,这不用管它~ 这是我在社区修复的一个小问题,你可以通过这个链接了解详情——[SPARK-36853][BUILD] Code failing on checkstyle

你可能感兴趣的:(大数据技术体系,apache,spark,大数据)