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/09/16 05:18:47 UTC
svn commit: r695716 - in /incubator/hama/trunk: CHANGES.txt
src/java/org/apache/hama/AbstractMatrix.java
src/java/org/apache/hama/Constants.java src/java/org/apache/hama/Matrix.java
src/test/org/apache/hama/TestDenseMatrix.java
Author: edwardyoon
Date: Mon Sep 15 20:18:46 2008
New Revision: 695716
URL: http://svn.apache.org/viewvc?rev=695716&view=rev
Log:
Add get/setRowAttribute() method
Modified:
incubator/hama/trunk/CHANGES.txt
incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java
incubator/hama/trunk/src/java/org/apache/hama/Constants.java
incubator/hama/trunk/src/java/org/apache/hama/Matrix.java
incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java
Modified: incubator/hama/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/CHANGES.txt?rev=695716&r1=695715&r2=695716&view=diff
==============================================================================
--- incubator/hama/trunk/CHANGES.txt (original)
+++ incubator/hama/trunk/CHANGES.txt Mon Sep 15 20:18:46 2008
@@ -4,6 +4,7 @@
NEW FEATURES
+ HAMA-51: Add get/setRowAttribute() method (edwardyoon)
HAMA-13: Matrix multiplication (edwardyoon)
HAMA-48: Add getColumn(int column) method which returns column vector (edwardyoon)
HAMA-49: Add iterator() method to vector (edwardyoon)
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=695716&r1=695715&r2=695716&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/AbstractMatrix.java Mon Sep 15 20:18:46 2008
@@ -28,6 +28,7 @@
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.io.BatchUpdate;
import org.apache.hadoop.hbase.io.Cell;
+import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.mapred.JobClient;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.RunningJob;
@@ -71,6 +72,7 @@
protected void create() {
try {
tableDesc.addFamily(new HColumnDescriptor(Constants.METADATA));
+ tableDesc.addFamily(new HColumnDescriptor(Constants.ATTRIBUTE));
LOG.info("Initializing the matrix storage.");
admin.createTable(tableDesc);
} catch (IOException e) {
@@ -86,9 +88,9 @@
.getCounter();
// TODO : Thinking about more efficient method.
int columns = result.getRow(0).size();
- result.setDimension((int)rows, columns);
+ result.setDimension((int) rows, columns);
}
-
+
/** {@inheritDoc} */
public double get(int i, int j) throws IOException {
double result = -1;
@@ -133,6 +135,21 @@
table.commit(b);
}
+ public String getRowAttribute(int row) throws IOException {
+ Cell rows = null;
+ rows = table.get(Numeric.intToBytes(row), Bytes.toBytes(Constants.ATTRIBUTE
+ + "string"));
+
+ return (rows != null) ? Bytes.toString(rows.getValue()) : null;
+ }
+
+ public void setRowAttribute(int row, String name) throws IOException {
+ BatchUpdate b = new BatchUpdate(Numeric.intToBytes(row));
+ b.put(Constants.ATTRIBUTE + "string", Bytes.toBytes(name));
+
+ table.commit(b);
+ }
+
/** {@inheritDoc} */
public String getName() {
return (matrixName != null) ? matrixName : null;
Modified: incubator/hama/trunk/src/java/org/apache/hama/Constants.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/Constants.java?rev=695716&r1=695715&r2=695716&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/Constants.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/Constants.java Mon Sep 15 20:18:46 2008
@@ -44,6 +44,11 @@
*/
public final static String METADATA_TYPE = "metadata:type";
+ /**
+ * The attribute of the indices
+ */
+ public final static String ATTRIBUTE = "attribute:";
+
/**
* Default columnFamily name
*/
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=695716&r1=695715&r2=695716&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/Matrix.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/Matrix.java Mon Sep 15 20:18:46 2008
@@ -55,7 +55,7 @@
public Vector getColumn(int column) throws IOException;
/**
- * Get a number of row of the matrix from the meta-data column
+ * Get the number of row of the matrix from the meta-data column
*
* @return a number of rows of the matrix
* @throws IOException
@@ -63,7 +63,7 @@
public int getRows() throws IOException;
/**
- * Get a number of column of the matrix from the meta-data column
+ * Get the number of column of the matrix from the meta-data column
*
* @return a number of columns of the matrix
* @throws IOException
@@ -71,6 +71,22 @@
public int getColumns() throws IOException;
/**
+ * Gets the attribute of the row
+ *
+ * @throws IOException
+ */
+ public String getRowAttribute(int row) throws IOException;
+
+ /**
+ * Sets the attribute of the row
+ *
+ * @param row
+ * @param name
+ * @throws IOException
+ */
+ public void setRowAttribute(int row, String name) throws IOException;
+
+ /**
* Sets the double value of (i, j)
*
* @param i ith row of the matrix
@@ -191,7 +207,7 @@
/** Largest entry in absolute value */
Infinity
}
-
+
/**
* Return the matrix name
*
Modified: incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java?rev=695716&r1=695715&r2=695716&view=diff
==============================================================================
--- incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java (original)
+++ incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java Mon Sep 15 20:18:46 2008
@@ -72,6 +72,12 @@
}
}
+ public void testGetSetAttribute() throws IOException {
+ m1.setRowAttribute(0, "test1");
+ assertEquals(m1.getRowAttribute(0), "test1");
+ assertEquals(m1.getRowAttribute(1), null);
+ }
+
/**
* Test matrices addition
*