You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2008/08/11 11:43:38 UTC

svn commit: r684691 - in /incubator/hama/trunk: ./ src/examples/org/apache/hama/examples/ src/java/org/apache/hama/ src/java/org/apache/hama/io/

Author: edwardyoon
Date: Mon Aug 11 02:43:36 2008
New Revision: 684691

URL: http://svn.apache.org/viewvc?rev=684691&view=rev
Log:
Vector.get() returns double

Modified:
    incubator/hama/trunk/CHANGES.txt
    incubator/hama/trunk/src/examples/org/apache/hama/examples/MatrixAddition.java
    incubator/hama/trunk/src/java/org/apache/hama/AbstractBase.java
    incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java
    incubator/hama/trunk/src/java/org/apache/hama/Matrix.java
    incubator/hama/trunk/src/java/org/apache/hama/Vector.java
    incubator/hama/trunk/src/java/org/apache/hama/io/VectorWritable.java

Modified: incubator/hama/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/CHANGES.txt?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/CHANGES.txt (original)
+++ incubator/hama/trunk/CHANGES.txt Mon Aug 11 02:43:36 2008
@@ -2,7 +2,17 @@
 
 Trunk (unreleased changes)
 
-    HAMA-23: Add Hama configuration files.
+  NEW FEATURES
+
+    HAMA-25: Add matrix addition example (edwardyoon)
+    HAMA-23: Add Hama configuration files (edwardyoon)
+    HAMA-6: Add a 'who we are' page (edwardyoon)
+    HAMA-7: Add some information for a new comer (edwardyoon)
+    HAMA-1: Create the Hama web site (edwardyoon via Ian Holsman)
+    HAMA-2: The intial donation of Hama from the google project (edwardyoon)
+    
+  IMPROVEMENTS
+  
     HAMA-12: Matrix interface re-arrangement (edwardyoon)
     HAMA-21: Implement get(int index) method (edwardyoon)
     HAMA-19: Remove vector-norms enum to interface from implementation (edwardyoon)
@@ -11,26 +21,23 @@
     HAMA-10: Refactor the mapred package 
              for the latest version of dependencies (edwardyoon)  
     HAMA-9: Upgrade dependencies (edwardyoon)
-    HAMA-6: Add a 'who we are' page (edwardyoon)
-    HAMA-7: Add some information for a new comer (edwardyoon)
-    HAMA-1: Create the Hama web site (edwardyoon via Ian Holsman)
-    HAMA-2: The intial donation of Hama from the google project (edwardyoon)
+
+  BUG FIXES
+  
+    HAMA-25: Vector.get() returns double (edwardyoon)
 
 ----
 Google Code Trunk 
 
-  Improvements
-    Issue-23: add FindBugs Ant task to build script (Minslovely)
-    Issue-17: Logigng full stack (Minslovely)
-    Issue-4: Remove Groovy inteface to sandbox (Edward J. Yoon)
-    Issue-3: Code Formatter (Edward J. Yoon) 
-	
-  New Features
+  NEW FEATURES
     Issue-22: Hama project web-site	(Edward J. Yoon)
     Issue-21: Add feature vector (Edward J. Yoon)
     Issue-13: Add setDimension() method to reduce function (Edward J. Yoon) 
     Issue-7: Meta-column to store the matrix-info (Chanwit via Edward J. Yoon)
-  
-First Code Base:
-   
     Issue-1: Hama Initial Code (Edward J. Yoon)
+
+  IMPROVEMENTS
+    Issue-23: add FindBugs Ant task to build script (Minslovely)
+    Issue-17: Logigng full stack (Minslovely)
+    Issue-4: Remove Groovy inteface to sandbox (Edward J. Yoon)
+    Issue-3: Code Formatter (Edward J. Yoon) 

Modified: incubator/hama/trunk/src/examples/org/apache/hama/examples/MatrixAddition.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/examples/org/apache/hama/examples/MatrixAddition.java?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/src/examples/org/apache/hama/examples/MatrixAddition.java (original)
+++ incubator/hama/trunk/src/examples/org/apache/hama/examples/MatrixAddition.java Mon Aug 11 02:43:36 2008
@@ -36,18 +36,18 @@
     HamaConfiguration conf = new HamaConfiguration();
 
     Matrix a = Matrix.random(conf, row, column);
-    System.out.println("Create the " + row + " * " + column
-        + " random matrix A.");
     Matrix b = Matrix.random(conf, row, column);
-    System.out.println("Create the " + row + " * " + column
-        + " random matrix B.");
 
     long start = System.currentTimeMillis();
     Matrix c = a.add(b);
     long end = System.currentTimeMillis();
     System.out.println(executeTime(start, end));
-
-    System.out.println(c.get(0, 0));
+    
+    for(int i =  0; i < row; i++) {
+      for(int j =  0; j < row; j++) {
+        System.out.println(c.get(i, j));
+      }
+    }
   }
 
   public static String executeTime(long start, long end) {

Modified: incubator/hama/trunk/src/java/org/apache/hama/AbstractBase.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/AbstractBase.java?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/AbstractBase.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/AbstractBase.java Mon Aug 11 02:43:36 2008
@@ -25,4 +25,8 @@
     return Integer.parseInt(cKey
         .substring(cKey.indexOf(":") + 1, cKey.length()));
   }
+  
+  public byte[] getColumnIndex(int b) {
+    return Bytes.toBytes(Constants.COLUMN + String.valueOf(b));
+  }
 }

Modified: incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java Mon Aug 11 02:43:36 2008
@@ -76,7 +76,7 @@
   protected void create() {
     try {
       tableDesc.addFamily(new HColumnDescriptor(Constants.METADATA.toString()));
-      LOG.info("Initializaing.");
+      LOG.info("Initializing the matrix storage.");
       admin.createTable(tableDesc);
     } catch (IOException e) {
       LOG.error(e, e);
@@ -103,8 +103,9 @@
   /** {@inheritDoc} */
   public Vector getRow(int row) {
     try {
-      return new Vector(row, table.getRow(String.valueOf(row).getBytes()));
+      return new Vector(row, table.getRow(String.valueOf(row)));
     } catch (IOException e) {
+      // TODO Auto-generated catch block
       e.printStackTrace();
     }
     return null;
@@ -119,7 +120,7 @@
     }
     return null;
   }
-  
+
   /** {@inheritDoc} */
   public int getRows() {
     Cell rows = null;

Modified: incubator/hama/trunk/src/java/org/apache/hama/Matrix.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/Matrix.java?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/Matrix.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/Matrix.java Mon Aug 11 02:43:36 2008
@@ -113,7 +113,8 @@
    * @return an m-by-n matrix with uniformly distributed random elements.
    */
   public static Matrix random(HamaConfiguration conf, int m, int n) {
-    Matrix rand = new Matrix(conf, RandomVariable.randMatrixName());
+    Text name = RandomVariable.randMatrixName();
+    Matrix rand = new Matrix(conf, name);
     for (int i = 0; i < m; i++) {
       for (int j = 0; j < n; j++) {
         rand.set(i, j, RandomVariable.rand());
@@ -121,6 +122,7 @@
     }
 
     rand.setDimension(m, n);
+    LOG.info("Create the " + m + " * " + n + " random matrix : " + name);
     return rand;
   }
 

Modified: incubator/hama/trunk/src/java/org/apache/hama/Vector.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/Vector.java?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/Vector.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/Vector.java Mon Aug 11 02:43:36 2008
@@ -78,7 +78,7 @@
   }
 
   public double get(int index) {
-    return bytesToInt(this.cells.get(intToBytes(index)).getValue());
+    return bytesToDouble(this.cells.get(getColumnIndex(index)).getValue());
   }
 
   public double norm(Norm type) {

Modified: incubator/hama/trunk/src/java/org/apache/hama/io/VectorWritable.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/io/VectorWritable.java?rev=684691&r1=684690&r2=684691&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/io/VectorWritable.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/io/VectorWritable.java Mon Aug 11 02:43:36 2008
@@ -20,19 +20,24 @@
 import org.apache.hadoop.io.Writable;
 import org.apache.hama.AbstractBase;
 import org.apache.hama.Vector;
+import org.apache.log4j.Logger;
 
 public class VectorWritable extends AbstractBase implements Writable,
     Map<byte[], Cell> {
+  static final Logger LOG = Logger.getLogger(VectorWritable.class);
   public byte[] row;
   public HbaseMapWritable<byte[], Cell> cells;
   public int[] m_dims;
   public double[] m_vals;
 
   public void parse(Set<Entry<byte[], Cell>> entrySet) {
+    this.cells = new HbaseMapWritable<byte[], Cell>();
+    
     SortedMap<Integer, Double> m = new TreeMap<Integer, Double>();
     for (Map.Entry<byte[], Cell> f : entrySet) {
       m.put(getColumnIndex(f.getKey()), Double.parseDouble(Bytes.toString(f
           .getValue().getValue())));
+      this.cells.put(f.getKey(), f.getValue());
     }
 
     this.m_dims = new int[m.keySet().size()];
@@ -134,7 +139,7 @@
   }
 
   public int size() {
-    //return this.cells.size();
+    // return this.cells.size();
     return m_dims.length;
   }