sbt结合IDEA对Spark进行断点调试开发

2020-05-12 00:00:00 执行 代码 源码 调试 断点

原创文章,谢绝转载

笔者出于工作及学习的目的,经常与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

相关文章