首页 > 解决方案 > 进行管道拟合后如何保存模型?

问题描述

我在 Spark ML 中编写了这段代码

import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.Pipeline

val lr = new LogisticRegression()
val pipeline = new Pipeline()
                .setStages(Array(fooIndexer, fooHotEncoder, assembler, lr))
val model = pipeline.fit(training)

此代码需要很长时间才能运行。是否有可能在运行 pipeline.fit 后将模型保存在 HDFS 上,这样我就不必一次又一次地运行它?

编辑:另外,当我必须在模型上应用时如何从 HDFS 加载它transform以便我可以做出预测。

标签: apache-sparkapache-spark-ml

解决方案


直接来自官方文档- 保存:

// Now we can optionally save the fitted pipeline to disk
model.write.overwrite().save("/tmp/spark-logistic-regression-model")

和加载:

// And load it back in during production
val sameModel = PipelineModel.load("/tmp/spark-logistic-regression-model")

有关的:


推荐阅读