我在运行时遇到了奇怪的错误,我没有看到MyBean
类的任何错误,不知道下面的驱动程序代码有什么问题?由于找不到适用于零实际参数的构造函数/方法 - Apache Spark Java
Maven的Dependencies-
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>2.1.0</version>
</dependency>
驱动程序 -
SparkSession spark = SparkSession.builder().config(conf).getOrCreate();
spark.createDataset(Arrays.asList(new MyBean(10),new MyBean(20)),
Encoders.bean(MyBean.class)).show();
.....
class MyBean implements Serializable {
int i;
public MyBean(){}
public MyBean(int i){this.i=i;}
public int getI() {return i;}
public void setI(int i) {this.i = i;}
}
运行Exception-
错误 org.codehaus.commons.compiler.CompileException:org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator org.codehaus.commons.compiler.CompileException:文件 'generated.java', 第43行,第21列:找不到适用的零构造函数/方法 实际参数;候选人是:“public int com.ts.spark.datasets.MyBean.getI()”at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:11004) at org.codehaus.janino.UnitCompiler。 findMostSpecificIInvocable(UnitCompiler.java:8307) 在 org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8169) 在 org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8071)
感谢它的工作 –