如何将模型从 ML Pipeline 保存到 S3 或 HDFS?

2024-05-11

我正在尝试保存 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(使用前将#替换为@)

如何将模型从 ML Pipeline 保存到 S3 或 HDFS? 的相关文章

随机推荐