SparkSQL源码分析系列02-编译环境准备

本文主要描述一些阅读Spark源码环境的准备工作,会涉及到源码编译,插件安装等。

1. 克隆代码。

打开IDEA,在Git下的Clone中,输入 https://github.com/apache/spark ,克隆代码到本地,CheckOut到目标版本Spark3.4

2. 安装maven。

版本按照pom文件指定的版本安装,在IDEA中配置安装的路径。

3. 为IDEA安装 ANTLR 和 Scala 插件
4. 测试ANTLR的词法语法解析功能

在Spark源码项目中,搜索 SqlBaseParser.g4 文件,在 singleStatement 上右键,找到"Test Rule singleStatement",在底部对话框中输入SQL语句,观察解析出的抽象语法树。


注意:SQL语句一定要大写。

5. 编译源码

由于我们只做源码阅读,不做打包,所以只需要通过 compile 就行,package貌似报错更多,不容易打包成功,但是 compile 相对容易。多次 compile 尝试,直到 build success。

6. 运行测试类

在.../spark_branch3_4/sql/core/src/test/scala/org/apache/spark/sql目录下,打开 SQLQuerySuite 文件,在任意一个test模块上右键、运行,观察是否正常输出。

测试案例运行成功。至此,代表源码阅读环境准备完毕。

相关推荐
随缘而动,随遇而安1 天前
第九十八篇 工程落地视角:Session/Cookie/Token 原理辨析与大数据实战
大数据·spark·token·cookie·session
霑潇雨2 天前
Spark学习基础转换算子案例(单词计数(WordCount))
java·大数据·分布式·学习·spark·maven
zhojiew2 天前
使用 Spark Connect 在 Amazon EMR on EC2 上实现远程 Spark开发
大数据·分布式·spark
大江东去浪淘尽千古风流人物2 天前
【Kimera】MIT SPARK 实时度量-语义 SLAM 全栈解析:VIO + 鲁棒 PGO + 语义网格四模块架构与 EuRoC 实测深度剖析
大数据·架构·spark
大江东去浪淘尽千古风流人物2 天前
【Kimera-VIO】MIT SPARK 实时度量-语义 VIO/SLAM:六模块并行架构与智能因子图优化深度解析
大数据·架构·spark
大江东去浪淘尽千古风流人物2 天前
【Kimera-Semantics】实时三维语义重建深度解析:Fast/Merged 双路积分、对数概率体素 Bayesian 融合与 ROS 全链路实现
大数据·架构·spark
陆水A4 天前
运输时效预测模型:静态路由时效的计算与验证
大数据·人工智能·算法·spark·数据库开发·etl工程师
SeaTunnel4 天前
Apache SeaTunnel 4 月有何新动作?连接器增强与 Zeta 稳定性提升等亮点速览
大数据·数据仓库·spark·apache·seatunnel
淡定一生23334 天前
spark 3.3+ 之BloomFilter Runtime Filter
大数据·分布式·spark