您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页spark 源码阅读及调试环境搭建

spark 源码阅读及调试环境搭建

来源:二三娱乐

开发工具

  • scala 2.11.8

  • jdk8

  • intellij idea 2017(scala plugin)

  • maven(3.3.9)

导入源码(多种方式):

  • 或者Github上直接 down下来

maven编译

maven build:

在spark项目的根目录下执行:

$ build/mvn -T 4 -DskipTests clean package

这个要把下载的=很多的依赖,比较耗时,去泡杯枸杞茶喝喝。

试一把编译成功了

$ ./bin/spark-shell
image.png

idea 中导入源码

Menu -> File -> Open -> {spark dir}/pom.xml -> Open as Project

然后会自动识别为maven的
可以试一下example包中的例子能不能跑通:
run config:
-Dspark.master=local代表使用本地模式运行Spark代码
后面一行是读取文件的绝对路径


image.png

重点来了:

修改pom 依赖的scope

在spark parent及example工程pom文件中将jetty ,guava,hadoop ,scala,spark等相关依赖的scope为provided的 直接注释掉,以便于example工程中能够访问到,否则运行时报错找不到类。

scope 的compile 和provided区别如下

compile
默认的scope,表示 dependency 都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。
provided
跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。
使用这个时,不会将包打入本项目中,只是依赖过来。
使用默认或其他时,会将依赖的项目打成jar包,放入本项目的Lib里

再试下是否成功:


image.png

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务