【发布时间】:2015-04-10 06:09:33
【问题描述】:
我正在尝试将拟合模型保存到 Spark 中的文件中。我有一个训练 RandomForest 模型的 Spark 集群。我想在另一台机器上保存并重复使用已安装的模型。我在网上阅读了一些建议进行 java 序列化的帖子。我在 python 中做同样的事情,但它不起作用。有什么诀窍?
model = RandomForest.trainRegressor(trainingData, categoricalFeaturesInfo={},
numTrees=nb_tree,featureSubsetStrategy="auto",
impurity='variance', maxDepth=depth)
output = open('model.ml', 'wb')
pickle.dump(model,output)
我收到此错误:
TypeError: can't pickle lock objects
我使用的是 Apache Spark 1.2.0。
【问题讨论】:
-
嗨,看起来在 Spark 中保存\加载模型的正确方法是对模型使用 .save() 和 .load() 方法(至少在 Spark 1.3.0 中)。但我也遇到了这种方法的问题 :( 在这里描述了我的问题What is the right way to save\load models in Spark\PySpark
标签: python pyspark apache-spark-mllib