Example usage for org.apache.hadoop.io LongWritable set

List of usage examples for org.apache.hadoop.io LongWritable set

Introduction

In this page you can find the example usage for org.apache.hadoop.io LongWritable set.

Prototype

public void set(long value) 

Source Link

Document

Set the value of this LongWritable.

Usage

From source file:org.apache.giraph.block_app.library.ReusableSuppliers.java

License:Apache License

/**
 * Transforms primitive long supplier into
 * LongWritable supplier, with object being reused,
 * to minimize GC overhead.//from w ww .ja  v  a 2  s  . c o m
 */
public static <I extends WritableComparable, V extends Writable, E extends Writable> SupplierFromVertex<I, V, E, LongWritable> fromLong(
        Obj2LongFunction<Vertex<I, V, E>> supplier) {
    LongWritable reusable = new LongWritable();
    return (vertex) -> {
        reusable.set(supplier.apply(vertex));
        return reusable;
    };
}

From source file:org.apache.giraph.combiner.MinimumLongMessageCombiner.java

License:Apache License

@Override
public void combine(LongWritable vertexIndex, LongWritable originalMessage, LongWritable messageToCombine) {
    if (originalMessage.get() > messageToCombine.get()) {
        originalMessage.set(messageToCombine.get());
    }//  ww  w . j  a  va 2  s .c  om
}

From source file:org.apache.giraph.comm.messages.primitives.LongDoubleMessageStore.java

License:Apache License

@Override
public void addPartitionMessages(int partitionId, VertexIdMessages<LongWritable, DoubleWritable> messages)
        throws IOException {
    LongWritable reusableVertexId = new LongWritable();
    DoubleWritable reusableMessage = new DoubleWritable();
    DoubleWritable reusableCurrentMessage = new DoubleWritable();

    Long2DoubleOpenHashMap partitionMap = map.get(partitionId);
    synchronized (partitionMap) {
        VertexIdMessageIterator<LongWritable, DoubleWritable> iterator = messages.getVertexIdMessageIterator();
        while (iterator.hasNext()) {
            iterator.next();/*ww  w  .  j  a v a2s . com*/
            long vertexId = iterator.getCurrentVertexId().get();
            double message = iterator.getCurrentMessage().get();
            if (partitionMap.containsKey(vertexId)) {
                reusableVertexId.set(vertexId);
                reusableMessage.set(message);
                reusableCurrentMessage.set(partitionMap.get(vertexId));
                messageCombiner.combine(reusableVertexId, reusableCurrentMessage, reusableMessage);
                message = reusableCurrentMessage.get();
            }
            partitionMap.put(vertexId, message);
        }
    }
}

From source file:org.apache.giraph.comm.messages.primitives.LongLongMessageStore.java

License:Apache License

@Override
public void addPartitionMessage(int partitionId, LongWritable destVertexId, LongWritable message)
        throws IOException {
    // TODO-YH: this creates a new object for EVERY message, which
    // can result in substantial overheads.
    ///*from  ww  w  . j  ava2s. co  m*/
    // A better solution is to have a resuable LongWritable for each
    // partition id (i.e., per-instance map), which are then automatically
    // protected when synchronized on partitionMap below.
    LongWritable reusableCurrentMessage = new LongWritable();

    Long2LongOpenHashMap partitionMap = map.get(partitionId);
    synchronized (partitionMap) {
        long vertexId = destVertexId.get();
        long msg = message.get();
        if (partitionMap.containsKey(vertexId)) {
            reusableCurrentMessage.set(partitionMap.get(vertexId));
            messageCombiner.combine(destVertexId, reusableCurrentMessage, message);
            msg = reusableCurrentMessage.get();
        }
        partitionMap.put(vertexId, msg);
    }
}

From source file:org.apache.giraph.comm.messages.primitives.LongLongMessageStore.java

License:Apache License

@Override
public void addPartitionMessages(int partitionId, VertexIdMessages<LongWritable, LongWritable> messages)
        throws IOException {
    LongWritable reusableVertexId = new LongWritable();
    LongWritable reusableMessage = new LongWritable();
    LongWritable reusableCurrentMessage = new LongWritable();

    Long2LongOpenHashMap partitionMap = map.get(partitionId);
    synchronized (partitionMap) {
        VertexIdMessageIterator<LongWritable, LongWritable> iterator = messages.getVertexIdMessageIterator();
        while (iterator.hasNext()) {
            iterator.next();/*from w w  w  .  j a va2s .  c  o m*/
            long vertexId = iterator.getCurrentVertexId().get();
            long message = iterator.getCurrentMessage().get();
            if (partitionMap.containsKey(vertexId)) {
                reusableVertexId.set(vertexId);
                reusableMessage.set(message);
                reusableCurrentMessage.set(partitionMap.get(vertexId));
                messageCombiner.combine(reusableVertexId, reusableCurrentMessage, reusableMessage);
                message = reusableCurrentMessage.get();
            }
            partitionMap.put(vertexId, message);
        }
    }
}

From source file:org.apache.giraph.conf.TestObjectCreation.java

License:Apache License

@Test
public void testCreateClass() {
    startNanos = TIME.getNanoseconds();/*w  w  w  .j  av a 2 s . c  o m*/
    for (int i = 0; i < COUNT; ++i) {
        LongWritable value = configuration.createVertexValue();
        value.set(i);
        total += value.get();
    }
}

From source file:org.apache.giraph.conf.TestObjectCreation.java

License:Apache License

@Test
public void testNativeCreateClass() {
    startNanos = TIME.getNanoseconds();// w ww . j a v  a2 s .c om
    for (int i = 0; i < COUNT; ++i) {
        LongWritable value = new LongWritable();
        value.set(i);
        total += value.get();
    }
}

From source file:org.apache.giraph.conf.TestObjectCreation.java

License:Apache License

@Test
public void testNewInstance() throws IllegalAccessException, InstantiationException {
    startNanos = TIME.getNanoseconds();/*from   www  .j  a v a 2  s .c o m*/
    for (int i = 0; i < COUNT; ++i) {
        LongWritable value = (LongWritable) getLongWritableClass().newInstance();
        value.set(i);
        total += value.get();
    }
}

From source file:org.apache.giraph.conf.TestObjectCreation.java

License:Apache License

@Test
public void testSyncNewInstance() throws IllegalAccessException, InstantiationException {
    startNanos = TIME.getNanoseconds();//from  ww  w .  j av a2  s.  co  m
    for (int i = 0; i < COUNT; ++i) {
        LongWritable value = (LongWritable) getSyncLongWritableClass().newInstance();
        value.set(i);
        total += value.get();
    }
}

From source file:org.apache.giraph.conf.TestObjectCreation.java

License:Apache License

@Test
public void testReflectionUtilsNewInstance() throws IllegalAccessException, InstantiationException {
    // Throwaway to put into cache
    org.apache.hadoop.util.ReflectionUtils.newInstance(LongWritable.class, null);
    startNanos = TIME.getNanoseconds();/*from w w  w  . j a  v a  2  s.co m*/
    for (int i = 0; i < COUNT; ++i) {
        LongWritable value = (LongWritable) org.apache.hadoop.util.ReflectionUtils
                .newInstance(getLongWritableClass(), null);
        value.set(i);
        total += value.get();
    }
}