You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by "Edward J. Yoon (JIRA)" <ji...@apache.org> on 2009/02/11 11:08:59 UTC

[jira] Commented: (HAMA-151) Add multiplication example of file matrices

    [ https://issues.apache.org/jira/browse/HAMA-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672572#action_12672572 ] 

Edward J. Yoon commented on HAMA-151:
-------------------------------------

'CollectBlocksMapreduceBase' seems right name.

> Add multiplication example of file matrices
> -------------------------------------------
>
>                 Key: HAMA-151
>                 URL: https://issues.apache.org/jira/browse/HAMA-151
>             Project: Hama
>          Issue Type: New Feature
>          Components: documentation , examples
>    Affects Versions: 0.1.0
>            Reporter: Edward J. Yoon
>            Assignee: Edward J. Yoon
>             Fix For: 0.1.0
>
>
> Using CollectBlocksMap (See also HAMA-150), We can collect the blocks to 'collectionTable' from HDFS files as describe below.
> It would be nice if it added up the examples.
> -----
>   public static class MyMapper extends CollectBlocksBase implements
>       CollectBlocksMap<IntWritable, MapWritable> {
>     private MapWritable value;
>     @Override
>     public void map(IntWritable key, MapWritable value,
>         OutputCollector<BlockID, VectorWritable> output, Reporter reporter)
>         throws IOException {
>       int startColumn;
>       int endColumn;
>       int blkRow = key.get() / mBlockRowSize;
>       this.value = value;
>       int i = 0;
>       do {
>         startColumn = i * mBlockColSize;
>         endColumn = startColumn + mBlockColSize - 1;
>         if (endColumn >= mColumns) // the last sub vector
>           endColumn = mColumns - 1;
>         output.collect(new BlockID(blkRow, i), new VectorWritable(key.get(),
>             subVector(startColumn, endColumn)));
>         i++;
>       } while (endColumn < (mColumns - 1));
>     }
>     private DenseVector subVector(int i0, int i1) {
>       DenseVector res = new DenseVector();
>       for (int i = i0; i <= i1; i++) {
>         res.set(i, ((DoubleWritable) this.value.get(new IntWritable(i))).get());
>       }
>       return res;
>     }
>   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.