Package org.apache.giraph.utils.io

Examples of org.apache.giraph.utils.io.DataInputOutput


                            Iterable<M> messages) throws IOException {
    boolean ownsVertexId = false;
    destinationVertices.add(vertexId);
    rwLock.readLock().lock();
    try {
      DataInputOutput dataInputOutput = inMemoryMessages.get(vertexId);
      if (dataInputOutput == null) {
        DataInputOutput newDataInputOutput =
            config.createMessagesInputOutput();
        dataInputOutput =
            inMemoryMessages.putIfAbsent(vertexId, newDataInputOutput);
        if (dataInputOutput == null) {
          ownsVertexId = true;
View Full Code Here


   *
   * @param vertexId Vertex id for which we want to get messages
   * @return Iterable of messages for a vertex id
   */
  public Iterable<M> getVertexMessages(I vertexId) throws IOException {
    DataInputOutput dataInputOutput = inMemoryMessages.get(vertexId);
    if (dataInputOutput == null) {
      dataInputOutput = config.createMessagesInputOutput();
    }
    Iterable<M> combinedIterable = new MessagesIterable<M>(
        dataInputOutput, messageValueFactory);
View Full Code Here

    // read in-memory map
    int mapSize = in.readInt();
    for (int m = 0; m < mapSize; m++) {
      I vertexId = config.createVertexId();
      vertexId.readFields(in);
      DataInputOutput dataInputOutput = config.createMessagesInputOutput();
      dataInputOutput.readFields(in);
      inMemoryMessages.put(vertexId, dataInputOutput);
    }

    // read file stores
    int numFileStores = in.readInt();
View Full Code Here

   * @return DataInputOutput for this vertex id (created if necessary)
   */
  private DataInputOutput getDataInputOutput(
      Int2ObjectOpenHashMap<DataInputOutput> partitionMap,
      int vertexId) {
    DataInputOutput dataInputOutput = partitionMap.get(vertexId);
    if (dataInputOutput == null) {
      dataInputOutput = config.createMessagesInputOutput();
      partitionMap.put(vertexId, dataInputOutput);
    }
    return dataInputOutput;
View Full Code Here

      // expensive.  If this type of iterator is not available, fall back to
      // deserializing/serializing the messages
      if (vertexIdMessageBytesIterator != null) {
        while (vertexIdMessageBytesIterator.hasNext()) {
          vertexIdMessageBytesIterator.next();
          DataInputOutput dataInputOutput = getDataInputOutput(partitionMap,
              vertexIdMessageBytesIterator.getCurrentVertexId().get());
          vertexIdMessageBytesIterator.writeCurrentMessageBytes(
              dataInputOutput.getDataOutput());
        }
      } else {
        VertexIdMessageIterator<IntWritable, M>
            iterator = messages.getVertexIdMessageIterator();
        while (iterator.hasNext()) {
          iterator.next();
          DataInputOutput dataInputOutput =  getDataInputOutput(partitionMap,
              iterator.getCurrentVertexId().get());
          VerboseByteStructMessageWrite.verboseWriteCurrentMessage(iterator,
              dataInputOutput.getDataOutput());
        }
      }
    }
  }
View Full Code Here

  }

  @Override
  public Iterable<M> getVertexMessages(
      IntWritable vertexId) throws IOException {
    DataInputOutput dataInputOutput =
        getPartitionMap(vertexId).get(vertexId.get());
    if (dataInputOutput == null) {
      return EmptyIterable.get();
    } else {
      return new MessagesIterable<M>(dataInputOutput, messageValueFactory);
View Full Code Here

    int size = in.readInt();
    Int2ObjectOpenHashMap<DataInputOutput> partitionMap =
        new Int2ObjectOpenHashMap<DataInputOutput>(size);
    while (size-- > 0) {
      int vertexId = in.readInt();
      DataInputOutput dataInputOutput = config.createMessagesInputOutput();
      dataInputOutput.readFields(in);
      partitionMap.put(vertexId, dataInputOutput);
    }
    synchronized (map) {
      map.put(partitionId, partitionMap);
    }
View Full Code Here

   * @return Extended data output for this vertex id (created if necessary)
   */
  private DataInputOutput getDataInputOutput(
      ConcurrentMap<I, DataInputOutput> partitionMap,
      VertexIdIterator<I> iterator) {
    DataInputOutput dataInputOutput =
        partitionMap.get(iterator.getCurrentVertexId());
    if (dataInputOutput == null) {
      DataInputOutput newDataOutput = config.createMessagesInputOutput();
      dataInputOutput = partitionMap.putIfAbsent(
          iterator.releaseCurrentVertexId(), newDataOutput);
      if (dataInputOutput == null) {
        dataInputOutput = newDataOutput;
      }
View Full Code Here

    // expensive.  If this type of iterator is not available, fall back to
    // deserializing/serializing the messages
    if (vertexIdMessageBytesIterator != null) {
      while (vertexIdMessageBytesIterator.hasNext()) {
        vertexIdMessageBytesIterator.next();
        DataInputOutput dataInputOutput =
            getDataInputOutput(partitionMap, vertexIdMessageBytesIterator);

        synchronized (dataInputOutput) {
          vertexIdMessageBytesIterator.writeCurrentMessageBytes(
              dataInputOutput.getDataOutput());
        }
      }
    } else {
      VertexIdMessageIterator<I, M> vertexIdMessageIterator =
          messages.getVertexIdMessageIterator();
      while (vertexIdMessageIterator.hasNext()) {
        vertexIdMessageIterator.next();
        DataInputOutput dataInputOutput =
            getDataInputOutput(partitionMap, vertexIdMessageIterator);

        synchronized (dataInputOutput) {
          VerboseByteStructMessageWrite.verboseWriteCurrentMessage(
              vertexIdMessageIterator, dataInputOutput.getDataOutput());
        }
      }
    }
  }
View Full Code Here

  }

  @Override
  protected DataInputOutput readFieldsForMessages(DataInput in) throws
      IOException {
    DataInputOutput dataInputOutput = config.createMessagesInputOutput();
    dataInputOutput.readFields(in);
    return dataInputOutput;
  }
View Full Code Here

TOP

Related Classes of org.apache.giraph.utils.io.DataInputOutput

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.