Spark / Scala中的序列化概念是多方面的,它在语言方面包含Scala组件,或者在Spark方面包含如何使用内置组件。我还有一个自定义的参数,因此我无法轻松使用Spark中的内置序列化。我的问题是:
如何通过使用MLWritable扩展估算器来解决Spark中的自定义估算器序列化问题。
对于内置估算器,我们使用save
和load
。但是,如果我们有一个自定义的估算器,并添加了参数,则解决序列化问题的步骤是什么?添加此功能的通常步骤是什么?对于添加转换器和估计器,我们可以使用的模板非常标准,我们是否也有“如何”进行序列化的方法?
明智地编码,解决方案应转到write
方法:
class CoolAndCustomised extends Estimator[CoolAndCustomisedModel]
with ThisCustomisedParam
with ThatCustomisedParam
with MLWritable {
//...
//Question is here, how to derive to the solution and adding it here:
override def write: MLWriter = ???
}