如何在jar中编译和构建spark示例?

时间:2017-02-28 20:12:32

标签: scala maven apache-spark apache-spark-mllib

所以我正在编辑MovieLensALS.scala,我想用修改后的MovieLensALS.scala重新编译示例jar。

我使用build/mvn -pl :spark-examples_2.10 compile后跟build/mvn -pl :spark-examples_2.10 package正常完成。我有SPARK_PREPEND_CLASSES=1设置。

但是当我使用bin/spark-submit --class org.apache.spark.examples.mllib.MovieLensALS examples/target/scala-2.10/spark-examples-1.4.0-hadoop2.4.0.jar --rank 5 --numIterations 20 --lambda 1.0 --kryo data/mllib/sample_movielens_data.txt重新运行MovieLensALS时,我得到java.lang.StackOverflowError即使我添加到MovieLensALS.scala中的所有内容都是println,说这是修改过的文件,没有任何其他修改。< / p>

我的scala版本是2.11.8,spark版本是1.4.0,我正在跟踪this线程上的讨论来做我正在做的事情。

帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

所以我最终自己搞清楚了。我使用mvn compile -rf :spark-examples_2.10后跟mvn package -rf :spark-examples_2.10编译生成.jar文件。请注意,此处生成的jar文件为spark-examples-1.4.0-hadoop2.2.0.jar

另一方面,stackoverflow错误是由于一个很长的血统。为此,我可以使用减少数量的检查点,我做了以后。我跟着this了。