sbt结合IDEA对Spark进行断点调试开发
原创文章,谢绝转载
笔者出于工作及学习的目的,经常与Spark源码打交道,也难免对Spark源码做修改及测试。本人一向讲究借助工具提升效率,开发Spark过程中也在摸索如何更加顺畅的对源码进行调试。
Spark基于Scala,采用IntelliJ IDEA和sbt应对日常开发,自然是佳选择了。如何导入及编译Spark项目,网上资料很多,官网给的教程也比较详细:
- <Building Spark - Spark 2.1.1 Documentation>
- <Useful Developer Tools>
本文基于Spark2.x的源码,重点介绍如何使用sbt结合IDEA对Spark进行断点调试开发,这对于经常修改或学习Spark源码的读者较为有益。废话到此,我们进入正题。
Spark源码编译
拿到Spark源码,直接导入IDEA会有很多错误,因为SQL项目的catalyst中的SQL语法解析依赖ANTLR语法定义,需要通过编译生成代码,如下是采用sbt打包编译的流程:
git clone https://github.com/apache/spark.git
cd spark
build/sbt package
相关文章