如何在火花中使用地图而不实现可序列化?

Posted

技术标签:

【中文标题】如何在火花中使用地图而不实现可序列化?【英文标题】:How to use map in spark without implementing Serializable? 【发布时间】:2020-03-27 06:29:53 【问题描述】:

我在代码中使用了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);

【问题讨论】:

在您的解决方案中实现Serializable 的是什么? 我使用这个代码的类。我的类名是 Mapping 所以它的类 Mapping 实现了 Serializable 如果你告诉我们你在哪里使用这个类,它可能会给我们一些线索 【参考方案1】:

在调用函数内部,如果你使用的是 Mapping 类中的某些东西(变量,对象),那么这个 Mapping 类需要实现 Serializable。

请参阅此article。

【讨论】:

以上是关于如何在火花中使用地图而不实现可序列化?的主要内容,如果未能解决你的问题,请参考以下文章