Example usage for org.apache.hadoop.io BooleanWritable BooleanWritable

List of usage examples for org.apache.hadoop.io BooleanWritable BooleanWritable

Introduction

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

Prototype

public BooleanWritable(boolean value) 

Source Link

Usage

From source file:org.apache.giraph.aggregators.TestBooleanAggregators.java

License:Apache License

@Test
public void testAndAggregator() {
    BooleanAndAggregator and = new BooleanAndAggregator();
    assertEquals(true, and.getAggregatedValue().get());
    and.aggregate(new BooleanWritable(true));
    assertEquals(true, and.getAggregatedValue().get());
    and.aggregate(new BooleanWritable(false));
    assertEquals(false, and.getAggregatedValue().get());
    and.setAggregatedValue(new BooleanWritable(true));
    assertEquals(true, and.getAggregatedValue().get());
    BooleanWritable bw = and.createInitialValue();
    assertNotNull(bw);/*from   w w w .j ava  2  s  .c  om*/
}

From source file:org.apache.giraph.aggregators.TestBooleanAggregators.java

License:Apache License

@Test
public void testOrAggregator() {
    BooleanOrAggregator or = new BooleanOrAggregator();
    assertEquals(false, or.getAggregatedValue().get());
    or.aggregate(new BooleanWritable(false));
    assertEquals(false, or.getAggregatedValue().get());
    or.aggregate(new BooleanWritable(true));
    assertEquals(true, or.getAggregatedValue().get());
    or.setAggregatedValue(new BooleanWritable(false));
    assertEquals(false, or.getAggregatedValue().get());
    BooleanWritable bw = or.createInitialValue();
    assertNotNull(bw);/*from   ww  w.ja  v a  2s  . c  o m*/
}

From source file:org.apache.giraph.aggregators.TestBooleanAggregators.java

License:Apache License

@Test
public void testOverwriteAggregator() {
    BooleanOverwriteAggregator overwrite = new BooleanOverwriteAggregator();
    overwrite.aggregate(new BooleanWritable(true));
    assertEquals(true, overwrite.getAggregatedValue().get());
    overwrite.aggregate(new BooleanWritable(false));
    assertEquals(false, overwrite.getAggregatedValue().get());
    overwrite.setAggregatedValue(new BooleanWritable(true));
    assertEquals(true, overwrite.getAggregatedValue().get());
    BooleanWritable bw = overwrite.createInitialValue();
    assertNotNull(bw);/* w w w  .  j ava  2  s.  co m*/
}

From source file:org.apache.giraph.block_app.library.algo.DistributedIndependentSet.java

License:Apache License

/**
 * Piece to confirm selection of some vertices for the independent set. Also,
 * changes the state of neighboring vertices of newly assigned vertices to
 * NOT_IN_SET, so not to consider them for the discovery of the current
 * independent set./*w ww. j av  a2  s .c o m*/
 *
 * @param foundMIS Specifies the end of discovery for current independent set.
 * @param done Specifies the end of whole computation of decomposing to
 *             independent sets.
 */
private static <I extends WritableComparable, V extends Writable> Block createSelectAndRefinePiece(
        SupplierFromVertex<I, V, Writable, IntWritable> getIndependentSet,
        ConsumerWithVertex<I, V, Writable, IntWritable> setIndependentSet, IntRef iteration,
        Consumer<Boolean> foundMIS, Consumer<Boolean> done) {
    return new Piece<I, V, Writable, BooleanWritable, Object>() {
        private ReducerHandle<IntWritable, IntWritable> numVerticesUnknown;
        private ReducerHandle<IntWritable, IntWritable> numVerticesNotAssigned;

        @Override
        public void registerReducers(CreateReducersApi reduceApi, Object executionStage) {
            numVerticesUnknown = reduceApi.createLocalReducer(SumReduce.INT);
            numVerticesNotAssigned = reduceApi.createLocalReducer(SumReduce.INT);
        }

        @Override
        public VertexSender<I, V, Writable> getVertexSender(
                final BlockWorkerSendApi<I, V, Writable, BooleanWritable> workerApi, Object executionStage) {
            BooleanWritable ack = new BooleanWritable(true);
            IntWritable one = new IntWritable(1);
            return (vertex) -> {
                IntWritable vertexState = getIndependentSet.get(vertex);
                if (vertexState.equals(IN_SET)) {
                    setIndependentSet.apply(vertex, new IntWritable(iteration.value));
                    workerApi.sendMessageToAllEdges(vertex, ack);
                } else if (vertexState.equals(UNKNOWN)) {
                    numVerticesUnknown.reduce(one);
                    numVerticesNotAssigned.reduce(one);
                } else if (vertexState.equals(NOT_IN_SET)) {
                    numVerticesNotAssigned.reduce(one);
                }
            };
        }

        @Override
        public void masterCompute(BlockMasterApi master, Object executionStage) {
            done.apply(numVerticesNotAssigned.getReducedValue(master).get() == 0);
            foundMIS.apply(numVerticesUnknown.getReducedValue(master).get() == 0);
        }

        @Override
        public VertexReceiver<I, V, Writable, BooleanWritable> getVertexReceiver(
                final BlockWorkerReceiveApi<I> workerApi, Object executionStage) {
            return (vertex, messages) -> {
                if (getIndependentSet.get(vertex).equals(UNKNOWN) && Iterables.size(messages) > 0) {
                    setIndependentSet.apply(vertex, NOT_IN_SET);
                }
            };
        }

        @Override
        public Class<BooleanWritable> getMessageClass() {
            return BooleanWritable.class;
        }

        @Override
        public String toString() {
            return "SelectAndRefinePiece";
        }
    };
}

From source file:org.apache.giraph.examples.scc.SccAsyncComputation.java

License:Apache License

/**
 * Traverse the graph through outgoing edges and keep the maximum vertex
 * value.//from   w w  w.ja  v  a  2  s  . c  o  m
 * If a new maximum value is found, propagate it until convergence.
 * @param vertex Current vertex.
 * @param messages Received values from neighbor vertices.
 */
private void forwardTraversal(Vertex<LongWritable, SccVertexValue, NullWritable> vertex,
        Iterable<LongWritable> messages) {
    SccVertexValue vertexValue = vertex.getValue();
    boolean changed = setMaxValue(vertexValue, messages);
    if (changed) {
        messageValue.set(vertexValue.get());
        sendMessageToAllEdges(vertex, messageValue);
        aggregate(NEW_MAXIMUM, new BooleanWritable(true));
    }
}

From source file:org.apache.giraph.examples.scc.SccAsyncComputation.java

License:Apache License

/**
 * Traverse the transposed graph and keep the maximum vertex value.
 * @param vertex Current vertex./*from   ww w .j a  v a 2  s  . c  om*/
 * @param messages Received values from children vertices.
 */
private void backwardTraversalRest(Vertex<LongWritable, SccVertexValue, NullWritable> vertex,
        Iterable<LongWritable> messages) {
    SccVertexValue vertexValue = vertex.getValue();
    for (LongWritable m : messages) {
        if (vertexValue.get() == m.get()) {
            sendMessageToAllParents(vertex, m);
            aggregate(CONVERGED, new BooleanWritable(true));
            vertexValue.deactivate();
            vertex.voteToHalt();
            break;
        }
    }
}

From source file:org.apache.giraph.types.ops.BooleanTypeOps.java

License:Apache License

@Override
public BooleanWritable createCopy(BooleanWritable from) {
    return new BooleanWritable(from.get());
}

From source file:org.apache.hawq.pxf.plugins.hdfs.utilities.RecordkeyAdapter.java

License:Apache License

private ValConverter initializeConverter(Object key) {

    if (key instanceof Integer) {
        return new ValConverter() {
            @Override/*  w w  w .j  a v  a 2s .co m*/
            public Writable get(Object key) {
                return (new IntWritable((Integer) key));
            }
        };
    } else if (key instanceof Byte) {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                return (new ByteWritable((Byte) key));
            }
        };
    } else if (key instanceof Boolean) {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                return (new BooleanWritable((Boolean) key));
            }
        };
    } else if (key instanceof Double) {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                return (new DoubleWritable((Double) key));
            }
        };
    } else if (key instanceof Float) {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                return (new FloatWritable((Float) key));
            }
        };
    } else if (key instanceof Long) {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                return (new LongWritable((Long) key));
            }
        };
    } else if (key instanceof String) {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                return (new Text((String) key));
            }
        };
    } else {
        return new ValConverter() {
            @Override
            public Writable get(Object key) {
                throw new UnsupportedOperationException(
                        "Unsupported recordkey data type " + key.getClass().getName());
            }
        };
    }
}

From source file:org.apache.hawq.pxf.plugins.hdfs.utilities.RecordkeyAdapterTest.java

License:Apache License

/**
 * Test convertKeyValue for Boolean type
 *//*from  w  w  w . ja  va  2s. co m*/
@Test
public void convertKeyValueBoolean() {
    boolean key = true;
    initRecordkeyAdapter();
    runConvertKeyValue(key, new BooleanWritable(key));
}

From source file:org.apache.hawq.pxf.plugins.hdfs.utilities.RecordkeyAdapterTest.java

License:Apache License

/**
 * Test convertKeyValue for several calls of the same type
 *///  www.j av a  2 s.c om
@Test
public void convertKeyValueManyCalls() {
    Boolean key = true;
    mockLog();
    initRecordkeyAdapter();
    runConvertKeyValue(key, new BooleanWritable(key));
    verifyLog("converter initialized for type " + key.getClass() + " (key value: " + key + ")");

    for (int i = 0; i < 5; ++i) {
        key = (i % 2) == 0;
        runConvertKeyValue(key, new BooleanWritable(key));
    }
    verifyLogOnlyOnce();
}