List of usage examples for org.apache.hadoop.io DoubleWritable DoubleWritable
public DoubleWritable(double value)
From source file:org.apache.giraph.aggregators.TestDoubleAggregators.java
License:Apache License
@Test public void testMinAggregator() { DoubleMinAggregator min = new DoubleMinAggregator(); min.aggregate(new DoubleWritable(3.0)); min.aggregate(new DoubleWritable(2.0)); assertEquals(2.0, min.getAggregatedValue().get(), 0d); min.setAggregatedValue(new DoubleWritable(3.0)); assertEquals(3.0, min.getAggregatedValue().get(), 0d); DoubleWritable dw = min.createInitialValue(); assertNotNull(dw);/*w w w . jav a 2 s .c o m*/ }
From source file:org.apache.giraph.aggregators.TestDoubleAggregators.java
License:Apache License
@Test public void testOverwriteAggregator() { DoubleOverwriteAggregator overwrite = new DoubleOverwriteAggregator(); overwrite.aggregate(new DoubleWritable(1.0)); assertEquals(1.0, overwrite.getAggregatedValue().get(), 0d); overwrite.aggregate(new DoubleWritable(2.0)); assertEquals(2.0, overwrite.getAggregatedValue().get(), 0d); overwrite.setAggregatedValue(new DoubleWritable(3.0)); assertEquals(3.0, overwrite.getAggregatedValue().get(), 0d); DoubleWritable dw = overwrite.createInitialValue(); assertNotNull(dw);// w ww.j a va2 s.c o m }
From source file:org.apache.giraph.aggregators.TestDoubleAggregators.java
License:Apache License
@Test public void testProductAggregator() { DoubleProductAggregator product = new DoubleProductAggregator(); product.aggregate(new DoubleWritable(6.0)); product.aggregate(new DoubleWritable(7.0)); assertEquals(42.0, product.getAggregatedValue().get(), 0d); product.setAggregatedValue(new DoubleWritable(1.0)); assertEquals(1.0, product.getAggregatedValue().get(), 0d); DoubleWritable dw = product.createInitialValue(); assertNotNull(dw);//from w ww. ja va 2 s . c o m }
From source file:org.apache.giraph.aggregators.TestDoubleAggregators.java
License:Apache License
@Test public void testSumAggregator() { DoubleSumAggregator sum = new DoubleSumAggregator(); sum.aggregate(new DoubleWritable(1.0)); sum.aggregate(new DoubleWritable(2.0)); assertEquals(3.0, sum.getAggregatedValue().get(), 0d); sum.setAggregatedValue(new DoubleWritable(4.0)); assertEquals(4.0, sum.getAggregatedValue().get(), 0d); DoubleWritable dw = sum.createInitialValue(); assertNotNull(dw);//from ww w . j a v a 2 s.c o m }
From source file:org.apache.giraph.benchmark.ShortestPathsComputation.java
License:Apache License
@Override public void compute(Vertex<LongWritable, DoubleWritable, DoubleWritable> vertex, Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() == 0) { vertex.setValue(new DoubleWritable(Double.MAX_VALUE)); }/* ww w. j ava 2 s . c o m*/ double minDist = isSource(vertex) ? 0d : Double.MAX_VALUE; for (DoubleWritable message : messages) { minDist = Math.min(minDist, message.get()); } if (minDist < vertex.getValue().get()) { vertex.setValue(new DoubleWritable(minDist)); for (Edge<LongWritable, DoubleWritable> edge : vertex.getEdges()) { double distance = minDist + edge.getValue().get(); sendMessage(edge.getTargetVertexId(), new DoubleWritable(distance)); } } vertex.voteToHalt(); }
From source file:org.apache.giraph.benchmark.ShortestPathsVertex.java
License:Apache License
@Override public void compute(Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() == 0) { setValue(new DoubleWritable(Double.MAX_VALUE)); }/*from ww w . j av a 2 s. co m*/ double minDist = isSource() ? 0d : Double.MAX_VALUE; for (DoubleWritable message : messages) { minDist = Math.min(minDist, message.get()); } if (minDist < getValue().get()) { setValue(new DoubleWritable(minDist)); for (Edge<LongWritable, DoubleWritable> edge : getEdges()) { double distance = minDist + edge.getValue().get(); sendMessage(edge.getTargetVertexId(), new DoubleWritable(distance)); } } voteToHalt(); }
From source file:org.apache.giraph.benchmark.WeightedPageRankComputation.java
License:Apache License
@Override public void compute(Vertex<LongWritable, DoubleWritable, DoubleWritable> vertex, Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() == 0) { // Normalize out edge weights double outEdgeSum = 0; for (Edge<LongWritable, DoubleWritable> edge : vertex.getEdges()) { outEdgeSum += edge.getValue().get(); }/* ww w. j a v a2 s.c om*/ for (MutableEdge<LongWritable, DoubleWritable> edge : vertex.getMutableEdges()) { edge.setValue(new DoubleWritable(edge.getValue().get() / outEdgeSum)); } } else { double messageSum = 0; for (DoubleWritable message : messages) { messageSum += message.get(); } vertex.getValue().set((0.15f / getTotalNumVertices()) + 0.85f * messageSum); } if (getSuperstep() < getConf().getInt(SUPERSTEP_COUNT, 0)) { for (Edge<LongWritable, DoubleWritable> edge : vertex.getEdges()) { sendMessage(edge.getTargetVertexId(), new DoubleWritable(vertex.getValue().get() * edge.getValue().get())); } } else { vertex.voteToHalt(); } }
From source file:org.apache.giraph.benchmark.WeightedPageRankVertex.java
License:Apache License
@Override public void compute(Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() == 0) { // Normalize out edge weights double outEdgeSum = 0; for (Edge<LongWritable, DoubleWritable> edge : getEdges()) { outEdgeSum += edge.getValue().get(); }/*from w w w. j a v a 2 s . c o m*/ for (MutableEdge<LongWritable, DoubleWritable> edge : getMutableEdges()) { edge.setValue(new DoubleWritable(edge.getValue().get() / outEdgeSum)); } } else { double messageSum = 0; for (DoubleWritable message : messages) { messageSum += message.get(); } getValue().set((0.15f / getTotalNumVertices()) + 0.85f * messageSum); } if (getSuperstep() < getConf().getInt(SUPERSTEP_COUNT, 0)) { for (Edge<LongWritable, DoubleWritable> edge : getEdges()) { sendMessage(edge.getTargetVertexId(), new DoubleWritable(getValue().get() * edge.getValue().get())); } } else { voteToHalt(); } }
From source file:org.apache.giraph.block_app.examples.pagerank.PageRankExampleBlockFactory.java
License:Apache License
@Override @SuppressWarnings("rawtypes") public Block createBlock(GiraphConfiguration conf) { Block iter = Pieces.<WritableComparable, DoubleWritable, Writable, DoubleWritable>sendMessageToNeighbors( "IterationPiece", SumMessageCombiner.DOUBLE, (vertex) -> new DoubleWritable(vertex.getValue().get() / vertex.getNumEdges()), (vertex, value) -> { double sum = value != null ? value.get() : 0; vertex.getValue().set(0.15f + 0.85f * sum); });/*w w w .ja v a2 s. c o m*/ return new RepeatBlock(NUM_ITERATIONS.get(conf), iter); }
From source file:org.apache.giraph.block_app.examples.pagerank.PageRankWithConvergenceExampleBlockFactory.java
License:Apache License
@Override @SuppressWarnings("rawtypes") public Block createBlock(GiraphConfiguration conf) { ObjectTransfer<Boolean> converged = new ObjectTransfer<>(); Block iter = SendMessageChain/*from w w w . ja va2 s.c om*/ .<WritableComparable, DoubleWritable, Writable, DoubleWritable>startSendToNeighbors( "PageRankUpdate", SumMessageCombiner.DOUBLE, (vertex) -> new DoubleWritable(vertex.getValue().get() / vertex.getNumEdges())) .endReduce("PageRankCheckConvergence", SumReduce.LONG, (vertex, value) -> { double sum = value != null ? value.get() : 0; double newValue = 0.15f + 0.85f * sum; double change = Math.abs(newValue - vertex.getValue().get()); vertex.getValue().set(newValue); return (change > EPS) ? ONE : ZERO; }, (changingCount) -> converged.apply(changingCount.get() == 0)); return new RepeatUntilBlock(NUM_ITERATIONS.get(conf), iter, converged); }