如何将新模块添加到Spark源并使其在spark-shell中工作?

时间:2016-03-19 06:49:51

标签: maven apache-spark

我正在使用IDEA15,我想在火花源中添加一个新模块。

我点击了File-> new->模块并选择了maven模块。然后我将“Add as module to ...”选项和“Parent”设置为“Spark Project Parent POM”。输入模块名称后,我点击了“完成”。

然后我在我的新模块中添加了一些代码,并使用以下命令

构建它

“build / mvn -Pyarn -Phadoop-2.4 -Dhadoop.version = 2.4.0 -DskipTests clean package”

该项目已成功构建,但在spark-shell中,我无法导入新添加的类。

我想知道我做了什么有什么问题,如何添加新模块然后将其导入spark-shell?

非常感谢!

PS:我确定我的代码没问题。我在mllib模块中添加了我的代码并且它有效。 也许有一些依赖缺失,但我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

Maven构建从您的构建中创建了一个jar文件(应该位于项目文件夹中的target/目录中)。

启动Spark shell时,可以定义要包含在shell中的jar文件。你可以在这里包括你的罐子:

spark-shell --jars /path/to/your/project.jar

你也可以尝试一下,在你的本地Maven资源库中安装你的项目,Spark shell可能会把它拿起来(所以你不必每次都指定--jars你运行它。)

为此,请在最后使用clean install而不是clean package运行您的Maven构建命令。