2016-10-15 86 views
-1

我有一个ALS模型,我在一次火花装置上训练。我坚持像这样:如何将火花模型从一个火花装置移动到另一个火花装置?

model.save(sc, './recommender_model') 

在文件系统中,它看起来是这样的:

$ find ./recommender_model 
./recommender_model 
./recommender_model/metadata 
./recommender_model/metadata/_SUCCESS 
./recommender_model/metadata/._SUCCESS.crc 
./recommender_model/metadata/.part-00000.crc 
./recommender_model/metadata/part-00000 
./recommender_model/data 
./recommender_model/data/product 
./recommender_model/data/product/part-r-00001-406655c7-5c12-44d4-9b39-d5367ccabe29.gz.parquet 
./recommender_model/data/product/_common_metadata 
./recommender_model/data/product/.part-r-00000-406655c7-5c12-44d4-9b39-d5367ccabe29.gz.parquet.crc 
./recommender_model/data/product/.part-r-00001-406655c7-5c12-44d4-9b39-d5367ccabe29.gz.parquet.crc 
./recommender_model/data/product/_SUCCESS 
./recommender_model/data/product/._metadata.crc 
./recommender_model/data/product/._SUCCESS.crc 
./recommender_model/data/product/._common_metadata.crc 
./recommender_model/data/product/part-r-00000-406655c7-5c12-44d4-9b39-d5367ccabe29.gz.parquet 
./recommender_model/data/product/_metadata 
./recommender_model/data/user 
./recommender_model/data/user/_common_metadata 
./recommender_model/data/user/.part-r-00001-f8bf36d3-2145-4af2-9780-6271d68ea25c.gz.parquet.crc 
./recommender_model/data/user/_SUCCESS 
./recommender_model/data/user/.part-r-00000-f8bf36d3-2145-4af2-9780-6271d68ea25c.gz.parquet.crc 
./recommender_model/data/user/._metadata.crc 
./recommender_model/data/user/part-r-00000-f8bf36d3-2145-4af2-9780-6271d68ea25c.gz.parquet 
./recommender_model/data/user/._SUCCESS.crc 
./recommender_model/data/user/._common_metadata.crc 
./recommender_model/data/user/part-r-00001-f8bf36d3-2145-4af2-9780-6271d68ea25c.gz.parquet 
./recommender_model/data/user/_metadata 

我想,这样我训练的一个火花安装到这个文件夹移动到另一个火花安装和使用另一种火花安装预测。

我可以简单地将tar放在这个文件夹中,并将其解压到另一个可以加载模型的spark实例吗?例如。

model = MatrixFactorizationModel.load(sc, './recommender_model') 

my_movie = sc.parallelize([(0, 500)]) # Quiz Show (1994) 
individual_movie_rating_RDD = model.predictAll(my_movie) 
individual_movie_rating_RDD.collect() 
+0

Downvoter:为什么downvote?我不知道如何在没有反馈的情况下改进问题。 –

回答

0

我进行了一些基本的测试,并拉上了整个文件夹,并解压到另一台机器上的方法对我来说效果不错。