2017-06-12 10 views
0

Javaファイルをjarにコンパイルしたいと思います。私はそれをスパークによって実行可能にしたい。私は正常にコンパイルしようとしましたが、このようなエラーがあります。Java for Sparkのコンパイル方法は?

java.lang.NoClassDefFoundError: JavaWordCount (wrong name: org/apache/spark/examples/JavaWordCount) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:348) 
at org.apache.spark.util.Utils$.classForName(Utils.scala:229) 
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:700) 
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187) 
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212) 
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126) 
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

これはJavaをコンパイルする方法です。

javac -classpath spark-sql_2.11-2.1.1.jar:spark-core_2.11-2.1.1.jar:scala-compiler-2.11.8.jar:scala-library-2.11.8.jar JavaWordCount.java 

そして、これは私がjarファイル

jar cvf JavaWordCount.jar JavaWordCount*.class 

は、しかし、このようにやって作る方法ですが、私が提出スパークしようとしたとき、上記のエラーを思い付きました。

spark-submit --class JavaWordCount JavaWordCount.jar README.md 

私もorg.apache.spark.examples.JavaWordCountにクラスを変更しようとしなかったが、それはまだ私に同じエラーを与えています。

どこが間違っていましたか?なにか提案を? PS SparkフォルダのJavaWordCountの例を使用します。

答えて

0

私はこの問題を解決するには、すべてのスパークジャーファイル(必要なファイルのみ)とjar cvfをスパークジャーファイルで再度使用する必要があります。

関連する問題