将als推荐模型导出到文件

时间:2016-03-15 07:37:26

标签: scala csv apache-spark apache-spark-mllib

我是Apache Spark的新手。我运行了examples文件夹中的示例ALS算法代码。我给了一个csv文件作为输入。当我使用 model.save(path)保存模型时,它存储在 gz.parquet 文件中。

When I tried to open this file, I get these errors

现在我想存储在text或csv文件中生成的推荐模型,以便在Spark之外使用它。

我尝试了以下函数来存储在文件中生成的模型,但它没用:

model.saveAsTextFile("path")

请建议我解决这个问题的方法。

2 个答案:

答案 0 :(得分:0)

不要说你用这样的东西训练过你的模型:

val model = ALS.train(ratings, rank, numIterations, 0.01)

你所要做的就是:

import org.apache.spark.mllib.recommendation.ALS
import org.apache.spark.mllib.recommendation.MatrixFactorizationModel
import org.apache.spark.mllib.recommendation.Rating    
// Save
model.save(sc, "yourpath/yourmodel")
// Load Model
val sameModel = MatrixFactorizationModel.load(sc, "yourpath/yourmodel")

答案 1 :(得分:0)

事实证明saveAsTextFile()仅适用于从属服务器。使用collect()从从服务器收集数据,以便可以在主服务器上本地保存。可以找到解决方案here