首页 文章

Spark使用继承的scala函数(Java / SparkSQL)

提问于
浏览
0

我正在尝试使用继承的Scala函数(StuctType.diff())并获取NoSuchMethodError .


线程中的异常"main" java.lang.NoSuchMethodError:org.apache.spark.sql.types.StructType.diff(Lscala / collection / GenSeq;)Lscala / collection / Seq;位于Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at的sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)的SparkSQLTest.main(SparkSQLTest.java:58)中的TableNode.neighborNode(SparkSQLTest.java:112)在org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy的java.lang.reflect.Method.invoke(Method.java:497)中的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:181)的org.apache.spark.deploy.SparkSubmit $ .submit(SparkSubmit.scala)上的$ SparkSubmit $$ runMain(SparkSubmit.scala:731) :206)org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:121)at 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

1 回答

  • 0

    我正在使用Spark 2.0和支持StructType方法 . 请看下面的代码片段我希望它有用:

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

相关问题