Updated Branches:
  refs/heads/master 749f84282 -> d009b17d1

new main file


Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/1a21ba29
Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/1a21ba29
Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/1a21ba29

Branch: refs/heads/master
Commit: 1a21ba29672074692be6c006a8938bfa86330a19
Parents: 6c3674c
Author: Reza Zadeh <riz...@gmail.com>
Authored: Thu Dec 26 18:09:33 2013 -0500
Committer: Reza Zadeh <riz...@gmail.com>
Committed: Thu Dec 26 18:09:33 2013 -0500

----------------------------------------------------------------------
 .../apache/spark/mllib/linalg/sparsesvd.scala   | 29 +++++++++++++-------
 1 file changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/1a21ba29/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala 
b/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
index f9b9a04..be8ccff 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
@@ -110,22 +110,31 @@ object SVD {
                (retU, retS, retV)      
   }
 
+
   def main(args: Array[String]) {
-    if (args.length < 4) {
-      println("Usage: KMeans <master> <input_file> <k> <max_iterations> 
[<runs>]")
+    if (args.length < 8) {
+      println("Usage: SVD <master> <matrix_file> <m> <n> 
<minimum_singular_value> <output_U_file> <output_S_file> <output_V_file>")
       System.exit(1)
     }
-    val (master, inputFile, k, iters) = (args(0), args(1), args(2).toInt, 
args(3).toInt)
-    val runs = if (args.length >= 5) args(4).toInt else 1
-    val sc = new SparkContext(master, "KMeans")
-    val data = sc.textFile(inputFile).map(line => line.split(' 
').map(_.toDouble)).cache()
-    println("Cost: ")
+    val (master, inputFile, m, n, min_svalue, output_u, output_s, output_v) = 
+                       (args(0), args(1), args(2).toInt, args(3).toInt, 
args(4).toDouble, args(5), args(6), args(7))
+    
+    val sc = new SparkContext(master, "SVD")
+    
+               val rawdata = sc.textFile(inputFile)
+               val data = rawdata.map { line =>
+               val parts = line.split(',')
+               ((parts(0).toInt, parts(1).toInt), parts(2).toDouble)
+               }
+
+               val (u, s, v) = SVD.sparseSVD(data, m, n, min_svalue)
+    println("Computed " + s.size + " singular values and vectors")
+               u.saveAsText(output_u)
+               s.saveAsText(output_s)
+               v.saveAsText(output_v)
     System.exit(0)
-               //val data = sc.makeRDD(Array.tabulate(m,n){ (a,b)=> 
((a+1,b+1),a*b%37) }.flatten )
   }
 }
 
 
 
-
-

Reply via email to