我正在尝试保存 ML Pipeline 生成的数千个模型。正如答案中所示here https://stackoverflow.com/questions/32121046/run-3000-random-forest-models-by-group-using-spark-mllib-scala-api,模型可以保存如下:
import java.io._
def saveModel(name: String, model: PipelineModel) = {
val oos = new ObjectOutputStream(new FileOutputStream(s"/some/path/$name"))
oos.writeObject(model)
oos.close
}
schools.zip(bySchoolArrayModels).foreach{
case (name, model) => saveModel(name, Model)
}
我尝试过使用s3://some/path/$name
and /user/hadoop/some/path/$name
因为我希望模型最终保存到亚马逊 s3,但它们都失败,并显示消息指示找不到路径。
如何将模型保存到Amazon S3?
将模型保存到 HDFS 的一种方法如下:
// persist model to HDFS
sc.parallelize(Seq(model), 1).saveAsObjectFile("hdfs:///user/root/linReg.model")
然后可以将保存的模型加载为:
val linRegModel = sc.objectFile[LinearRegressionModel]("linReg.model").first()
欲了解更多详情,请参阅(ref https://phdata.io/exploring-spark-mllib-part-4-exporting-the-model-for-use-outside-of-spark/)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)