2016-12-18 4 views
0

私のコードは次のとおりです。が火花クラスタをするために申請書を提出することはできませんコードで

SparkSession spark = SparkSession.builder().appName("plzzzz").master("local[*]").getOrCreate(); 
Dataset<Row> dataset = spark.read().format("libsvm").load("/home/ceny/tools/123.txt"); 
KMeans kmeans = new KMeans().setK(2).setSeed(1L); 
KMeansModel model = kmeans.fit(dataset);//this line is 20 

エラーは次のとおりです。

16/12/19 00:08:49 WARN KMeans: The input data was not directly cached, which may hurt performance if its parent RDDs are also uncached. 
Exception in thread "main" java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)Lscala/reflect/api/JavaMirrors$JavaMirror; 
    at org.apache.spark.ml.clustering.KMeansModel.transform(KMeans.scala:124) 
    at org.apache.spark.ml.clustering.KMeans.fit(KMeans.scala:326) 
    at Test.main(Test.java:20) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 

私のbuild.gradleは以下のとおりです。

compile group: 'org.scala-lang', name: 'scala-reflect', version: '2.11.8' 
compile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.0.2' 
compile group: 'org.apache.spark', name: 'spark-sql_2.11', version: '2.0.2' 
compile group: 'org.apache.spark', name: 'spark-mllib_2.10', version: '2.0.2' 

私の環境は:

火花バージョン:2.0.2

Scalaのバージョン:2.11.8

説明:

私はIDEAのコードの下に実行しようとすると、エラーが表示されます。 私はそれをJARとしてパッケージ化して、それをtermialで送信しても問題ありません。

SparkSubmit.main()をコードで送信するとエラーが表示されますが、

どうすればいいですか?

答えて

3

すべての成果物に同じScalaバージョンが必要です。次のようになります。

compile group: 'org.apache.spark', name: 'spark-mllib_2.11', version: '2.0.2' 
+0

はい、ありがとうございます!私はMavenリポジトリで** spark **を検索し、** advertisement **は結果の数がちょうど7であると考えさせてくれます。 – ceny

関連する問題