【发布时间】:2016-12-20 12:54:22
【问题描述】:
我正在尝试使用继承的 Scala 函数 ( StuctType.diff() ),但我得到了一个 NoSuchMethodError。
线程“主”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(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 在 org.apache.spark.deploy.SparkSubmit$.main(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 吗?
标签: java apache-spark apache-spark-sql