Package org.apache.hadoop.io

Examples of org.apache.hadoop.io.WritableComparable


    PriorityBuffer reheap = new PriorityBuffer(heap.size());
    boolean result = false;
    for (Object obj : heap) {
      Index index = (Index) obj;
      try {
        WritableComparable found = index.reader.getClosest(key, index.value, true);
        if (found != null && found.equals(key)) {
          result = true;
        }
      } catch (EOFException ex) {
        // thrown if key is beyond all data in the map
      }
View Full Code Here


      MapWritable meta = datum.getMetaData();
      if (meta.size() > 0) {
        MapWritable newMeta = new MapWritable();
        Iterator it = meta.keySet().iterator();
        while (it.hasNext()) {
          WritableComparable k = (WritableComparable)it.next();
          Writable v = meta.get(k);
          if (k instanceof UTF8) {
            Text t = new Text(k.toString());
            k = t;
          }
          newMeta.put(k, v);
        }
        datum.setMetaData(newMeta);
View Full Code Here

  throws IOException {
    if (top) {
      super.finalKey(key);
    } else {
      Writable value = new ImmutableBytesWritable();
      WritableComparable found = super.getClosest(midkey, value, true);
      Writables.copyWritable(found, key);
    }
  }
View Full Code Here

  @SuppressWarnings("unchecked")
  @Override
  public synchronized WritableComparable getClosest(WritableComparable key,
    Writable val)
  throws IOException {
    WritableComparable closest = null;
    if (top) {
      // If top, the lowest possible key is first key.  Do not have to check
      // what comes back from super getClosest.  Will return exact match or
      // greater.
      closest = (key.compareTo(this.midkey) < 0)?
        this.midkey: super.getClosest(key, val);
      // we know that we just went past the midkey
      firstNextCall = false;
    } else {
      // We're serving bottom of the file.
      if (key.compareTo(this.midkey) < 0) {
        // Check key is within range for bottom.
        closest = super.getClosest(key, val);
        // midkey was made against largest store file at time of split. Smaller
        // store files could have anything in them.  Check return value is
        // not beyond the midkey (getClosest returns exact match or next after)
        if (closest != null && closest.compareTo(this.midkey) >= 0) {
          // Don't let this value out.
          closest = null;
        }
      }
      // Else, key is > midkey so let out closest = null.
View Full Code Here

    if (firstNextCall) {
      firstNextCall = false;
      if (this.top) {
        // Seek to midkey.  Midkey may not exist in this file.  That should be
        // fine.  Then we'll either be positioned at end or start of file.
        WritableComparable nearest = getClosest(this.midkey, val);
        // Now copy the midkey into the passed key.
        if (nearest != null) {
          Writables.copyWritable(nearest, key);
          return true;
        }
View Full Code Here

    }

    for (int i = 0; i < top.length; i++) {
      int indexDocNo = in.readInt();              // read indexDocNo

      WritableComparable sortValue = null;
      try {
        sortValue = (WritableComparable)sortClass.newInstance();
      } catch (Exception e) {
        throw new IOException(e.toString());
      }
      sortValue.readFields(in);                   // read sortValue

      String dedupValue = Text.readString(in);    // read dedupValue

      top[i] = new Hit(indexDocNo, sortValue, dedupValue);
    }
View Full Code Here

   * using two HalfMapFiles.
   * @throws Exception
   */
  public void testBasicHalfMapFile() throws Exception {
    Path p = writeMapFile(getName());
    WritableComparable midkey = getMidkey(p);
    checkHalfMapFile(p, midkey);
  }
View Full Code Here

      new MapFile.Reader(this.fs, p.toString(), this.conf);
    HStoreKey key = new HStoreKey();
    ImmutableBytesWritable value = new ImmutableBytesWritable();
    reader.next(key, value);
    String firstKey = key.toString();
    WritableComparable midkey = reader.midKey();
    reader.finalKey(key);
    LOG.info("First key " + firstKey + ", midkey " + midkey.toString()
        + ", last key " + key.toString());
    reader.close();
    return midkey;
  }
View Full Code Here

      assertTrue(Bytes.equals(value.get(), ((HStoreKey) midkey).getRow()));

      // Next test using a midkey that does not exist in the file.
      // First, do a key that is < than first key. Ensure splits behave
      // properly.
      WritableComparable badkey = new HStoreKey("   ");
      bottom = new HStoreFile.HalfMapFileReader(this.fs, p.toString(),
          this.conf, HStoreFile.Range.bottom, badkey, null);
      // When badkey is < than the bottom, should return no values.
      assertFalse(bottom.next(key, value));
      // Now read from the top.
View Full Code Here

  @Override
  public void addMessage(String peerName, GraphJobMessage msg) {
    InetSocketAddress targetPeerAddress = getSocketAddress(peerName);

    if (msg.isVertexMessage() && combiner != null) {
      WritableComparable vertexID = msg.getVertexId();
      Writable vertexValue = msg.getVertexValue();

      if (!vertexMessageMap.containsKey(targetPeerAddress)) {
        vertexMessageMap.put(targetPeerAddress,
            new HashMap<WritableComparable, Writable>());
View Full Code Here

TOP

Related Classes of org.apache.hadoop.io.WritableComparable

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.