Uploaded image for project: 'Hama'
  1. Hama
  2. HAMA-151

Add multiplication example of file matrices

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • documentation , examples
    • None

    Description

      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;
      }
      }

      Attachments

        1. HAMA-151.patch
          22 kB
          Edward J. Yoon

        Activity

          People

            udanax Edward J. Yoon
            udanax Edward J. Yoon
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: