Package org.apache.hama.commons.io

Examples of org.apache.hama.commons.io.VectorWritable


    // if our cache is not enabled, iterate over the disk items
    if (cache == null) {
      // we have an assignment step
      final NullWritable value = NullWritable.get();
      final VectorWritable key = new VectorWritable();
      while (peer.readNext(key, value)) {
        assignCentersInternal(newCenterArray, summationCount, key.getVector()
            .deepCopy());
      }
    } else {
      // if our cache is enabled but empty, we have to read it from disk first
      if (cache.isEmpty()) {
        final NullWritable value = NullWritable.get();
        final VectorWritable key = new VectorWritable();
        while (peer.readNext(key, value)) {
          DoubleVector deepCopy = key.getVector().deepCopy();
          cache.add(deepCopy);
          // but do the assignment directly
          assignCentersInternal(newCenterArray, summationCount, deepCopy);
        }
      } else {
View Full Code Here


      BSPPeer<VectorWritable, NullWritable, IntWritable, VectorWritable, CenterMessage> peer)
      throws IOException {
    final NullWritable value = NullWritable.get();
    // also use our cache to speed up the final writes if exists
    if (cache == null) {
      final VectorWritable key = new VectorWritable();
      IntWritable keyWrite = new IntWritable();
      while (peer.readNext(key, value)) {
        final int lowestDistantCenter = getNearestCenter(key.getVector());
        keyWrite.set(lowestDistantCenter);
        peer.write(keyWrite, key);
      }
    } else {
      IntWritable keyWrite = new IntWritable();
      for (DoubleVector v : cache) {
        final int lowestDistantCenter = getNearestCenter(v);
        keyWrite.set(lowestDistantCenter);
        peer.write(keyWrite, new VectorWritable(v));
      }
    }
    // just on the first task write the centers to filesystem to prevent
    // collisions
    if (peer.getPeerName().equals(peer.getPeerName(0))) {
      String pathString = conf.get(CENTER_OUT_PATH);
      if (pathString != null) {
        final SequenceFile.Writer dataWriter = SequenceFile.createWriter(
            FileSystem.get(conf), conf, new Path(pathString),
            VectorWritable.class, NullWritable.class, CompressionType.NONE);
        for (DoubleVector center : centers) {
          dataWriter.append(new VectorWritable(center), value);
        }
        dataWriter.close();
      }
    }
  }
View Full Code Here

      throws IOException {
    HashMap<Integer, DoubleVector> centerMap = new HashMap<Integer, DoubleVector>();
    SequenceFile.Reader centerReader = new SequenceFile.Reader(fs, centerPath,
        conf);
    int index = 0;
    VectorWritable center = new VectorWritable();
    while (centerReader.next(center, NullWritable.get())) {
      centerMap.put(index++, center.getVector());
    }
    centerReader.close();
    return centerMap;
  }
View Full Code Here

      DenseDoubleVector vec = new DenseDoubleVector(columnLength);
      for (int j = 0; j < columnLength; j++) {
        vec.set(j, Double.parseDouble(split[j + indexPos]));
      }

      VectorWritable vector;
      if (hasKey) {
        NamedDoubleVector named = new NamedDoubleVector(split[0], vec);
        vector = new VectorWritable(named);
      } else {
        vector = new VectorWritable(vec);
      }

      dataWriter.append(vector, value);
      if (k > i) {
        centerWriter.append(vector, value);
View Full Code Here

      double[] arr = new double[dimension];
      for (int d = 0; d < dimension; d++) {
        arr[d] = r.nextInt(count);
      }
      VectorWritable vector = new VectorWritable(new DenseDoubleVector(arr));
      dataWriter.append(vector, value);
      if (k > i) {
        centerWriter.append(vector, value);
      }
    }
View Full Code Here

      for (int j=0; j<mat.getColumnCount(); j++) {
        res.set(idx, mat.get(i, j));
        idx++;
      }
    }
    return new VectorWritable(res);
  }
View Full Code Here

    for (Map.Entry<Text, DoubleVector> e : normalizedValues.entrySet()) {
      MapWritable msgTmp = new MapWritable();
      // send to interested peers
      msgTmp.put(OnlineCF.Settings.MSG_ITEM_MATRIX, e.getKey());
      msgTmp.put(OnlineCF.Settings.MSG_VALUE, new VectorWritable(e.getValue()));
      Iterator<IntWritable> iter = senderList.get(e.getKey()).iterator();
      while (iter.hasNext()) {
        peer.send(peer.getPeerName(iter.next().get()), msgTmp);
      }
    }
View Full Code Here

      HashMap<Text, LinkedList<IntWritable>> senderList)
          throws IOException {

    HashMap<Text, Integer> normalizedValueCount = new HashMap<Text, Integer>();
    Text itemId = null;
    VectorWritable value = null;
    IntWritable senderId = null;
    MapWritable msg = new MapWritable();

    while ( (msg = peer.getCurrentMessage())!=null ) {
      itemId = (Text) msg.get(OnlineCF.Settings.MSG_ITEM_MATRIX);
      value = (VectorWritable) msg.get(OnlineCF.Settings.MSG_VALUE);
      senderId = (IntWritable) msg.get(OnlineCF.Settings.MSG_SENDER_ID);

      if (normalizedValues.containsKey(itemId) == false) {
        DenseDoubleVector tmp = new DenseDoubleVector(MATRIX_RANK, 0.0);
        normalizedValues.put(itemId, tmp);
        normalizedValueCount.put(itemId, 0);
        senderList.put(itemId, new LinkedList<IntWritable>());
      }

      normalizedValues.put(itemId, normalizedValues.get(itemId).add(value.getVector()));
      normalizedValueCount.put(itemId, normalizedValueCount.get(itemId)+1);
      senderList.get(itemId).add(senderId);
    }

    // normalize
View Full Code Here

    OnlineUpdate.OutputStructure out = null;
    Preference<String, String> pref = null;
    for (Integer prefIdx : indexes) {
      pref = preferences.get(prefIdx);

      VectorWritable userFactorizedValues = usersMatrix.get(pref.getUserId());
      VectorWritable itemFactorizedValues = itemsMatrix.get(pref.getItemId());
      VectorWritable userFeatures = (inpUsersFeatures!=null)?inpUsersFeatures.get(pref.getUserId()):null;
      VectorWritable itemFeatures = (inpItemsFeatures!=null)?inpItemsFeatures.get(pref.getItemId()):null;

      inp.user = userFactorizedValues;
      inp.item = itemFactorizedValues;
      inp.expectedScore = pref.getValue();
      inp.userFeatures = userFeatures;
View Full Code Here

      HashMap<Text, DoubleVector> normalizedValues)
          throws IOException {
    LOG.info(peer.getPeerName() + ") saving " + normalizedValues.size() + " items");
    for (Map.Entry<Text, DoubleVector> item : normalizedValues.entrySet()) {
      peer.write( new Text(OnlineCF.Settings.DFLT_MODEL_ITEM_DELIM + item.getKey().toString()),
          new VectorWritable(item.getValue()));
    }
  }
View Full Code Here

TOP

Related Classes of org.apache.hama.commons.io.VectorWritable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.