我在代码中使用了map()
,并且抛出了NotSerializableException
,因此我实现了Serializable
。还有其他方法可以克服此异常,还是map始终使用Serializable
?
Dataset<Row> outdf=indf.map(new MapFunction<Row,Row>() {
@Override
public Row call(Row row){
//Calling another function in another class
return r;//r is also a row
}
},encoder);
在调用函数内部,如果您使用的是Mapping类中的某物(变量,对象),则此Mapping类需要实现Serializable。
参考此article。