List of usage examples for org.apache.hadoop.io BooleanWritable BooleanWritable
public BooleanWritable(boolean value)
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(); }