所以我正在编辑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线程上的讨论来做我正在做的事情。
帮助将不胜感激。
答案 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了。