List of usage examples for org.apache.hadoop.io DoubleWritable DoubleWritable
public DoubleWritable(double value)
From source file:org.apache.giraph.examples.SimplePageRankComputation.java
License:Apache License
@Override public void compute(Vertex<LongWritable, DoubleWritable, FloatWritable> vertex, Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() >= 1) { double sum = 0; for (DoubleWritable message : messages) { sum += message.get();/* ww w. j a v a 2s. c o m*/ } DoubleWritable vertexValue = new DoubleWritable((0.15f / getTotalNumVertices()) + 0.85f * sum); vertex.setValue(vertexValue); aggregate(MAX_AGG, vertexValue); aggregate(MIN_AGG, vertexValue); aggregate(SUM_AGG, new LongWritable(1)); LOG.info(vertex.getId() + ": PageRank=" + vertexValue + " max=" + getAggregatedValue(MAX_AGG) + " min=" + getAggregatedValue(MIN_AGG)); } if (getSuperstep() < MAX_SUPERSTEPS) { long edges = vertex.getNumEdges(); sendMessageToAllEdges(vertex, new DoubleWritable(vertex.getValue().get() / edges)); } else { vertex.voteToHalt(); } }
From source file:org.apache.giraph.examples.SimplePageRankComputation2.java
License:Apache License
@Override public void compute(Vertex<LongWritable, DoubleWritable, DoubleWritable> vertex, Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() >= 1) { double sum = 0; for (DoubleWritable message : messages) { sum += message.get();/*from w ww .ja v a2 s . c om*/ } DoubleWritable vertexValue = new DoubleWritable((0.15f / getTotalNumVertices()) + 0.85f * sum); vertex.setValue(vertexValue); aggregate(MAX_AGG, vertexValue); aggregate(MIN_AGG, vertexValue); aggregate(SUM_AGG, new LongWritable(1)); LOG.info(vertex.getId() + ": PageRank=" + vertexValue + " max=" + getAggregatedValue(MAX_AGG) + " min=" + getAggregatedValue(MIN_AGG)); } if (getSuperstep() < MAX_SUPERSTEPS) { long edges = vertex.getNumEdges(); sendMessageToAllEdges(vertex, new DoubleWritable(vertex.getValue().get() / edges)); } else { vertex.voteToHalt(); } }
From source file:org.apache.giraph.examples.SimplePageRankVertex.java
License:Apache License
@Override public void compute(Iterable<DoubleWritable> messages) { if (getSuperstep() >= 1) { double sum = 0; for (DoubleWritable message : messages) { sum += message.get();//from w w w .j av a 2 s .c o m } DoubleWritable vertexValue = new DoubleWritable((0.15f / getTotalNumVertices()) + 0.85f * sum); setValue(vertexValue); aggregate(MAX_AGG, vertexValue); aggregate(MIN_AGG, vertexValue); aggregate(SUM_AGG, new LongWritable(1)); LOG.info(getId() + ": PageRank=" + vertexValue + " max=" + getAggregatedValue(MAX_AGG) + " min=" + getAggregatedValue(MIN_AGG)); } if (getSuperstep() < MAX_SUPERSTEPS) { long edges = getNumEdges(); sendMessageToAllEdges(new DoubleWritable(getValue().get() / edges)); } else { voteToHalt(); } }
From source file:org.apache.giraph.examples.SimpleShortestPathsComputationTest.java
License:Apache License
/** * Test the behavior when a shorter path to a vertex has been found *//*from w w w . j av a 2s . co m*/ @Test public void testOnShorterPathFound() throws Exception { Vertex<LongWritable, DoubleWritable, FloatWritable> vertex = new DefaultVertex<LongWritable, DoubleWritable, FloatWritable>(); SimpleShortestPathsComputation computation = new SimpleShortestPathsComputation(); MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable, DoubleWritable> env = MockUtils .prepareVertexAndComputation(vertex, new LongWritable(7L), new DoubleWritable(Double.MAX_VALUE), false, computation, 1L); Mockito.when(SOURCE_ID.get(env.getConfiguration())).thenReturn(2L); vertex.addEdge(EdgeFactory.create(new LongWritable(10L), new FloatWritable(2.5f))); vertex.addEdge(EdgeFactory.create(new LongWritable(20L), new FloatWritable(0.5f))); computation.compute(vertex, Lists.newArrayList(new DoubleWritable(2), new DoubleWritable(1.5))); assertTrue(vertex.isHalted()); assertEquals(1.5d, vertex.getValue().get(), 0d); env.verifyMessageSent(new LongWritable(10L), new DoubleWritable(4)); env.verifyMessageSent(new LongWritable(20L), new DoubleWritable(2)); }
From source file:org.apache.giraph.examples.SimpleShortestPathsComputationTest.java
License:Apache License
/** * Test the behavior when a new, but not shorter path to a vertex has been * found.//w w w. j av a 2 s . c o m */ @Test public void testOnNoShorterPathFound() throws Exception { Vertex<LongWritable, DoubleWritable, FloatWritable> vertex = new DefaultVertex<LongWritable, DoubleWritable, FloatWritable>(); SimpleShortestPathsComputation computation = new SimpleShortestPathsComputation(); MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable, DoubleWritable> env = MockUtils .prepareVertexAndComputation(vertex, new LongWritable(7L), new DoubleWritable(0.5), false, computation, 1L); Mockito.when(SOURCE_ID.get(env.getConfiguration())).thenReturn(2L); vertex.addEdge(EdgeFactory.create(new LongWritable(10L), new FloatWritable(2.5f))); vertex.addEdge(EdgeFactory.create(new LongWritable(20L), new FloatWritable(0.5f))); computation.compute(vertex, Lists.newArrayList(new DoubleWritable(2), new DoubleWritable(1.5))); assertTrue(vertex.isHalted()); assertEquals(0.5d, vertex.getValue().get(), 0d); env.verifyNoMessageSent(); }
From source file:org.apache.giraph.examples.SimpleShortestPathsTextComputation.java
License:Apache License
@Override public void compute(Vertex<Text, DoubleWritable, FloatWritable> vertex, Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() == 0) { vertex.setValue(new DoubleWritable(Double.MAX_VALUE)); }//ww w . j a v a2s . c o m double minDist = isSource(vertex) ? 0d : Double.MAX_VALUE; for (DoubleWritable message : messages) { minDist = Math.min(minDist, message.get()); } if (LOG.isDebugEnabled()) { LOG.debug("Vertex " + vertex.getId() + " got minDist = " + minDist + " vertex value = " + vertex.getValue()); } if (minDist < vertex.getValue().get()) { vertex.setValue(new DoubleWritable(minDist)); for (Edge<Text, FloatWritable> edge : vertex.getEdges()) { double distance = minDist + edge.getValue().get(); if (LOG.isDebugEnabled()) { LOG.debug( "Vertex " + vertex.getId() + " sent to " + edge.getTargetVertexId() + " = " + distance); } sendMessage(edge.getTargetVertexId(), new DoubleWritable(distance)); } } vertex.voteToHalt(); }
From source file:org.apache.giraph.examples.SimpleShortestPathsVertex.java
License:Apache License
@Override public void compute(Iterable<DoubleWritable> messages) { if (getSuperstep() == 0) { setValue(new DoubleWritable(Double.MAX_VALUE)); }/* 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 (LOG.isDebugEnabled()) { LOG.debug("Vertex " + getId() + " got minDist = " + minDist + " vertex value = " + getValue()); } if (minDist < getValue().get()) { setValue(new DoubleWritable(minDist)); for (Edge<LongWritable, FloatWritable> edge : getEdges()) { double distance = minDist + edge.getValue().get(); if (LOG.isDebugEnabled()) { LOG.debug("Vertex " + getId() + " sent to " + edge.getTargetVertexId() + " = " + distance); } sendMessage(edge.getTargetVertexId(), new DoubleWritable(distance)); } } voteToHalt(); }
From source file:org.apache.giraph.examples.SimpleShortestPathsVertexTest.java
License:Apache License
/** * Test the behavior when a shorter path to a vertex has been found *///from ww w. ja va 2 s .com @Test public void testOnShorterPathFound() throws Exception { SimpleShortestPathsVertex vertex = new SimpleShortestPathsVertex(); MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable, DoubleWritable> env = MockUtils .prepareVertex(vertex, 1L, new LongWritable(7L), new DoubleWritable(Double.MAX_VALUE), false); Mockito.when(SOURCE_ID.get(env.getConfiguration())).thenReturn(2L); vertex.addEdge(EdgeFactory.create(new LongWritable(10L), new FloatWritable(2.5f))); vertex.addEdge(EdgeFactory.create(new LongWritable(20L), new FloatWritable(0.5f))); vertex.compute(Lists.newArrayList(new DoubleWritable(2), new DoubleWritable(1.5))); assertTrue(vertex.isHalted()); assertEquals(1.5d, vertex.getValue().get(), 0d); env.verifyMessageSent(new LongWritable(10L), new DoubleWritable(4)); env.verifyMessageSent(new LongWritable(20L), new DoubleWritable(2)); }
From source file:org.apache.giraph.examples.SimpleShortestPathsVertexTest.java
License:Apache License
/** * Test the behavior when a new, but not shorter path to a vertex has been * found.//from ww w . j a v a 2s . c om */ @Test public void testOnNoShorterPathFound() throws Exception { SimpleShortestPathsVertex vertex = new SimpleShortestPathsVertex(); MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable, DoubleWritable> env = MockUtils .prepareVertex(vertex, 1L, new LongWritable(7L), new DoubleWritable(0.5), false); Mockito.when(SOURCE_ID.get(env.getConfiguration())).thenReturn(2L); vertex.addEdge(EdgeFactory.create(new LongWritable(10L), new FloatWritable(2.5f))); vertex.addEdge(EdgeFactory.create(new LongWritable(20L), new FloatWritable(0.5f))); vertex.compute(Lists.newArrayList(new DoubleWritable(2), new DoubleWritable(1.5))); assertTrue(vertex.isHalted()); assertEquals(0.5d, vertex.getValue().get(), 0d); env.verifyNoMessageSent(); }
From source file:org.apache.giraph.examples.SimpleShortestPathVertexTest.java
License:Apache License
/** test the behavior when a shorter path to a vertex has been found */ public void testOnShorterPathFound() throws Exception { SimpleShortestPathsVertex vertex = new SimpleShortestPathsVertex(); vertex.addEdge(new LongWritable(10L), new FloatWritable(2.5f)); vertex.addEdge(new LongWritable(20L), new FloatWritable(0.5f)); MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable, DoubleWritable> env = MockUtils .prepareVertex(vertex, 1L, new LongWritable(7L), new DoubleWritable(Double.MAX_VALUE), false); Mockito.when(env.getConfiguration().getLong(SimpleShortestPathsVertex.SOURCE_ID, SimpleShortestPathsVertex.SOURCE_ID_DEFAULT)).thenReturn(2L); vertex.compute(Lists.newArrayList(new DoubleWritable(2), new DoubleWritable(1.5)).iterator()); assertTrue(vertex.isHalted());// w w w . ja v a 2 s . c om assertEquals(1.5, vertex.getVertexValue().get()); env.verifyMessageSent(new LongWritable(10L), new DoubleWritable(4)); env.verifyMessageSent(new LongWritable(20L), new DoubleWritable(2)); }