from pyspark.ml.recommendation import ALS, ALSModel
from pyspark.ml.tuning import ParamGridBuilder, CrossValidator
from pyspark.mllib.evaluation import RegressionMetrics, RankingMetrics
from pyspark.ml.evaluation import RegressionEvaluator
als = ALS(maxIter=15,
regParam=0.08,
userCol="ID User",
itemCol="ID Film",
ratingCol="Rating",
rank=20,
numItemBlocks=30,
numUserBlocks = 30,
alpha = 0.95,
nonnegative = True,
coldStartStrategy="drop",
implicitPrefs=False)
model = als.fit(training_dataset)
model.save('model')每次我调用保存方法时,jupyter笔记本都给我类似的错误。
An error occurred while calling o477.save.
: org.apache.spark.SparkException: Job aborted.
at org.apache.spark.internal.io.SparkHadoopWriter$.write(SparkHadoopWriter.scala:106)我知道前面的问题和答案,并尝试过这样做:
model.save('model')。
model.write().save("saved_model")。
als.write().save("saved_model")。
als.save('model')。
import pickle
s = pickle.dumps(als)。
als_path = "from_C:Folder_to_my_project_root" + "/als"
als.save(als_path)我的问题是如何保存ALS模型,这样我就可以在每次运行程序时都不用经过训练就可以加载它。
发布于 2022-08-23 07:39:32
我过去经常运行这个问题,我为netflix奖品数据集执行推荐,总共有1亿条记录。这就是我所做的,试着运行50%的数据,然后慢慢地添加百分比,看看它会在哪里失效。在我的例子中,数据慢慢地加到100%的数据中。关闭不必要的Chrome选项卡也有帮助。
发布于 2022-06-16 03:07:02
基本上,o477和oXXX错误在一般情况下意味着在执行任务时会出现错误。因为你似乎在做电影推荐,所以我想你使用的是电影或netflix数据集。这可能意味着其中之一:
https://stackoverflow.com/questions/72525835
复制相似问题