У меня есть объект MatrixFactorizationModel. Если я попытаюсь рекомендовать продукты для одного пользователя сразу после построения модели через ALS.train(...), то это займет 300 мс (для моих данных и оборудования). Но если я сохраню модель на диск и загружу ее, тогда рекомендация займет почти 2000 мс. Также Spark предупреждает:
15/07/17 11:05:47 WARN MatrixFactorizationModel: User factor does not have a partitioner. Prediction on individual records could be slow.
15/07/17 11:05:47 WARN MatrixFactorizationModel: User factor is not cached. Prediction could be slow.
15/07/17 11:05:47 WARN MatrixFactorizationModel: Product factor does not have a partitioner. Prediction on individual records could be slow.
15/07/17 11:05:47 WARN MatrixFactorizationModel: Product factor is not cached. Prediction could be slow.
Как я могу создать/установить коэффициенты пользователя и продукта с разделителями и кешем после загрузки модели? Следующий подход не помог:
model.userFeatures().cache();
model.productFeatures().cache();
Также я пытался переделать эти rdds и создать новую модель из переразмерных версий, но это также не помогло.