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模块上右键、运行,观察是否正常输出。

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

相关推荐
鹿衔`3 小时前
Apache Spark 任务资源配置与优先级指南
python·spark
鸿乃江边鸟1 天前
Spark Datafusion Comet 向量化Rust Native-- 数据写入
大数据·rust·spark·native
亚林瓜子1 天前
Spark SQL中时间戳条件约束与字符串判空
大数据·sql·spark·string·timestamp
亚林瓜子2 天前
AWS中国云中的ETL之从Amazon Glue Data Catalog搬数据到MySQL(Glue版)
python·mysql·spark·etl·aws·glue·py
【赫兹威客】浩哥2 天前
【赫兹威客】伪分布式Spark测试教程
大数据·分布式·spark
yumgpkpm2 天前
在AI语言大模型时代 Cloudera CDP(华为CMP 鲲鹏版)对自有知识的保护
人工智能·hadoop·华为·zookeeper·spark·kafka
计算机毕业编程指导师2 天前
【Python大数据选题】基于Hadoop+Spark奥运会金牌榜可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·奥运会金牌
【赫兹威客】浩哥3 天前
【赫兹威客】完全分布式Spark测试教程
大数据·分布式·spark
鸿乃江边鸟3 天前
Spark Datafusion Comet 向量化Rule--CometExecRule分析 规则转换分析
大数据·spark·native
Light603 天前
领码 SPARK aPaaS 前端开发体系 技术架构(最终版)
低代码·spark·前端架构·apaas·模型驱动·能力分层·上下文契约