aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/IndexedRowMatrix.scala2
-rw-r--r--mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala4
-rw-r--r--mllib/src/main/scala/org/apache/spark/mllib/util/MLUtils.scala8
3 files changed, 8 insertions, 6 deletions
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/IndexedRowMatrix.scala b/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/IndexedRowMatrix.scala
index 5c1acca0ec..36d8cadd2b 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/IndexedRowMatrix.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/IndexedRowMatrix.scala
@@ -142,7 +142,7 @@ class IndexedRowMatrix(
val mat = BDM.zeros[Double](m, n)
rows.collect().foreach { case IndexedRow(rowIndex, vector) =>
val i = rowIndex.toInt
- vector.toBreeze.activeIterator.foreach { case (j, v) =>
+ vector.foreachActive { case (j, v) =>
mat(i, j) = v
}
}
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala b/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala
index 10a515af88..a3fca53929 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala
@@ -588,8 +588,8 @@ class RowMatrix(
val n = numCols().toInt
val mat = BDM.zeros[Double](m, n)
var i = 0
- rows.collect().foreach { v =>
- v.toBreeze.activeIterator.foreach { case (j, v) =>
+ rows.collect().foreach { vector =>
+ vector.foreachActive { case (j, v) =>
mat(i, j) = v
}
i += 1
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/util/MLUtils.scala b/mllib/src/main/scala/org/apache/spark/mllib/util/MLUtils.scala
index 1d07b5dab8..da0da0a168 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/util/MLUtils.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/util/MLUtils.scala
@@ -154,10 +154,12 @@ object MLUtils {
def saveAsLibSVMFile(data: RDD[LabeledPoint], dir: String) {
// TODO: allow to specify label precision and feature precision.
val dataStr = data.map { case LabeledPoint(label, features) =>
- val featureStrings = features.toBreeze.activeIterator.map { case (i, v) =>
- s"${i + 1}:$v"
+ val sb = new StringBuilder(label.toString)
+ features.foreachActive { case (i, v) =>
+ sb += ' '
+ sb ++= s"${i + 1}:$v"
}
- (Iterator(label) ++ featureStrings).mkString(" ")
+ sb.mkString
}
dataStr.saveAsTextFile(dir)
}