我是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")
请建议我解决这个问题的方法。
答案 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