2016-08-13 4 views
0

継承されたScala関数(StuctType.diff())を使用しています。NoSuchMethodErrorを取得しようとしています。 Sparkはスカラ関数を継承します(Java/SparkSQL)


スレッド "main"の例外java.lang.NoSuchMethodError: org.apache.spark.sql.types.StructType.diff(Lscala/collection/GenSeq;)Lscala/collection/Seq; TableNode.neighborNodeで sun.reflect.NativeMethodAccessorImpl.invokeでsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)でSparkSQLTest.main(SparkSQLTest.java:58) で(SparkSQLTest.java:112) (NativeMethodAccessorImpl.java :62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.spark.deploy.SparkSubmit $。 org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:181) (org.apache.spark.deployで) で、org.apache.spark.deployでのorg $ apache $ spark $ deploy $ SparkSubmit $$ runMain(SparkSubmit.scala:731) .SparkSubmit $ .submit(SparkSubmit.scala:206) at org.apache.spark.deploy.SparkSubmit $。メイン(SparkSubmit.scala:121) はorg.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)*
でのコードは次のようになります。

public StructType foo(DataFrame df){ 
    StructField sf = this.schema.diff(df.schema()).last(); 
    StructType schema_tmp = new StructType().add(sf); 
    return schema_tmp; 
} 

誰かが任意のアイデアを持っていますか?私は、まあ、私はスパーク2.0を使用していますし、StructType方法がsupported.Pleaseでスパーク1.6.2とScalaの2.10

+0

をすることができます'sc.version'を実行して、使用しているSparkのバージョンを確認します。 'spark-shell'を使って調べることができます。 –

+0

こんにちは、私は実行しました。 Spark 1.6.2を使用しています –

+0

コード全体を表示できますか?依存関係の定義方法を示すことはできますか? sbtを使用していますか? –

答えて

0

を使用しています、私はそのが参考に願っています以下のコードを見て:

val schema = new StructType(Array(
StructField("STORE_ID", StringType,true),
StructField("SALE_DATE", DateType,true)))

関連する問題