0
我試圖用一個繼承Scala的函數(StuctType.diff()),並即時得到一個的NoSuchMethodError。星火使用繼承Scala的功能(Java/SparkSQL)
線程「main」中的異常java.lang.NoSuchMethodError: org.apache.spark.sql.types.StructType.diff(Lscala/collection/GenSeq;)Lscala/collection/Seq; 在TableNode.neighborNode(SparkSQLTest.java:112) 在SparkSQLTest.main(SparkSQLTest.java:58) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(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 $$ runMain(SparkSubmit.scala:731) at org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:181) at org.apache.spark.deploy .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;
}
有人有任何想法?我使用的Spark 1.6.2和Scala 2.10
你能執行'sc.version'來查看你使用的是什麼Spark版本?你可以使用'spark-shell'來檢查它。 –
嗨,我執行了。我正在使用Spark 1.6.2 –
你能顯示整個代碼嗎?你能展示你如何定義依賴關係嗎?你在用sbt嗎? –