cache() mllibRatings output in algorithm train()
diff --git a/src/main/scala/ALSAlgorithm.scala b/src/main/scala/ALSAlgorithm.scala
index 358291e..7c0ddb9 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -90,6 +90,7 @@
         // MLlibRating requires integer index for user and item
         MLlibRating(u, i, v)
       }
+      .cache()
 
     // MLLib ALS cannot handle empty training data.
     require(!mllibRatings.take(1).isEmpty,