gpt4 book ai didi

java - 没有找到适用于零实际参数的构造函数/方法 - Apache Spark Java

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:19 25 4
gpt4 key购买 nike

我的 spark 作业在运行时遇到了奇怪的错误。我没有发现 MyBean 类有任何问题,知道下面的驱动程序代码有什么问题吗?谢谢

Maven 依赖项-

<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;}
}

运行时异常-

ERROR org.codehaus.commons.compiler.CompileException:org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 43, Column 21: No applicable constructor/method found for zero actual parameters; candidates are: "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) at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8169) at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8071)

最佳答案

Spark 需要公共(public) JavaBean 类。看起来您在创建 SparkSession 的同一类中定义了 MyBean 类。有两种选择可以解决此问题。第一个选项是 - 为 MyBean.java 公共(public)类创建一个单独的类文件。

public class MyBean implements Serializable {
int i;
//Getters and Setters
}

第二个选项是 - 将 MyBean 定义为主类的公共(public)静态内部类,如下所示。

public class MyClass {
public static void main(String[] args) {
SparkSession spark = ...;
}

public static class MyBean implements Serializable {
int i;
//Getters and Setters
}
}

关于java - 没有找到适用于零实际参数的构造函数/方法 - Apache Spark Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46311201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com