在学习SparkSQL的自定义聚合函数时,遇到了各种No applicable constructor/method found for的错误。
【错误一】No applicable constructor/method found for actual parameters "long"; candidates are: "public void common.Employee.setAge(int)"
错误代码如下
package common;
import java.io.Serializable;
public class Employee implements Serializable {
private String name;
private int age; // int类型会报错
private int depId;
private String gender;
private long salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getDepId() {
return depId;
}
public void setDepId(int depId) {
this.d

在使用SparkSQL的自定义聚合函数时,遇到"No applicable constructor/method found"错误。常见原因包括类型不匹配(如Integer转long)和访问权限问题。解决方法包括调整类型为long并确保公共访问权限。对于类的组织结构,可将类移到独立文件或作为内部类。深入理解Spark动态生成代码逻辑有助于进一步排查类似问题。
最低0.47元/天 解锁文章
6217

被折叠的 条评论
为什么被折叠?



