如何在本地构建和运行Scala Spark

时间:2014-05-25 17:07:27

标签: eclipse scala maven apache-spark

我正在尝试在本地构建Apache Spark。原因是调试像reduce这样的Spark方法。特别是我对Spark如何实现和分发Map Reduce感兴趣,因为我遇到了性能问题,我认为从源代码运行这些任务是找出问题所在的最佳方法。

所以我克隆了Spark repo的最新消息:

git clone https://github.com/apache/spark.git

Spark似乎是一个Maven项目,所以当我在Eclipse中创建它时,结构是:

enter image description here

某些顶级文件夹也有pom文件:

enter image description here

那么我应该建立其中一个子项目吗?这些正确的步骤是针对本地代码库运行Spark吗?

1 个答案:

答案 0 :(得分:11)

在本地构建Spark,简短的回答:

git clone git@github.com:apache/spark.git
cd spark
sbt/sbt compile

详细了解您的问题,您实际要问的是如何在Eclipse中调试Spark应用程序'。 要在Eclipse中进行调试,您并不需要在Eclipse中构建Spark。您所需要的只是创建一个具有Spark lib依赖性的作业,并询问Maven'下载源代码'。这样您就可以使用Eclipse调试器来进入代码。

然后,在创建Spark上下文时,使用sparkConfig。local[1]作为主文件:

val conf = new SparkConf()
      .setMaster("local[1]")
      .setAppName("SparkDebugExample")

这样所有Spark交互都在一个线程中以本地模式执行,因此对调试器可见。

如果您正在调查性能问题,请记住Spark是一个分布式系统,其中网络扮演着重要角色。在本地调试系统只会给你一部分答案。需要监视实际群集中的作业,以便全面了解作业的性能特征。