apache-spark - 进行管道拟合后如何保存模型?
问题描述
我在 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
以便我可以做出预测。
解决方案
直接来自官方文档- 保存:
// 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")
有关的:
推荐阅读
- firebase - 在 Flutter 中返回 Null 的可调用云函数
- amazon-web-services - 如何确定使用 AWS Terraform 资源所需的 AWS IAM 策略权限?
- java - 即使使用@JsonInclude(JsonInclude.Include.NON_EMPTY),当所有属性都为空或为空时,如何防止空复杂对象?
- flask - Flask-SQLAlchemy 通过一个查询获取带有子代的父代
- c# - 类型化 HttpClient 与 IHttpClientFactory
- amazon-web-services - S3 同步与跨区域复制
- amazon-emr - AWS 采用并行状态来编排 EMR 作业
- docker - 我在 docker hub 中的图片为什么没有出现在搜索引擎中?不使用 docker search 命令
- json - 在 JSON 中使用 Powershell 变量
- flutter - Flutter - 离线数据与在线服务器同步(完整解决方案)