List of usage examples for org.apache.hadoop.io DoubleWritable DoubleWritable
public DoubleWritable(double value)
From source file:LongestPathDAG.java
License:Apache License
@Override public void compute(Vertex<LongWritable, DoubleWritable, FloatWritable> vertex, Iterable<DoubleWritable> messages) throws IOException { if (getSuperstep() == 0) { vertex.setValue(new DoubleWritable(0)); }// w w w. j a v a 2 s. co m double maxDist = 0; for (DoubleWritable message : messages) { maxDist = Math.max(maxDist, message.get()); } LOG.info("Vertex " + vertex.getId() + " got maxDist = " + maxDist + " vertex value = " + vertex.getValue()); if (maxDist >= vertex.getValue().get()) { vertex.setValue(new DoubleWritable(maxDist)); for (Edge<LongWritable, FloatWritable> edge : vertex.getEdges()) { double distance = maxDist + edge.getValue().get(); LOG.info("Vertex " + vertex.getId() + " sent to " + edge.getTargetVertexId() + " = " + distance); sendMessage(edge.getTargetVertexId(), new DoubleWritable(distance)); } } vertex.voteToHalt(); }
From source file:DoubleMinCombiner.java
License:Apache License
@Override public DoubleWritable createInitialMessage() { return new DoubleWritable(Double.MAX_VALUE); }
From source file:DoubleSumCombiner.java
License:Apache License
@Override public DoubleWritable createInitialMessage() { return new DoubleWritable(0); }
From source file:at.illecker.hama.hybrid.examples.piestimator.PiEstimatorHybridBSP.java
License:Apache License
@Override public void cleanup(BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, LongWritable> peer) throws IOException { long startTime = 0; if (m_timeMeasurement) { startTime = System.currentTimeMillis(); }// www.j a v a 2s . c o m // MasterTask writes out results if (peer.getPeerName().equals(m_masterTask)) { long totalHits = 0; LongWritable received; while ((received = peer.getCurrentMessage()) != null) { totalHits += received.get(); } double pi = 4.0 * totalHits / m_iterations; // DEBUG if (m_isDebuggingEnabled) { m_logger.writeChars("PiEstimatorHybrid,Iterations=" + m_iterations + "\n"); m_logger.writeChars("PiEstimatorHybrid,numMessages: " + peer.getNumCurrentMessages() + "\n"); m_logger.writeChars("PiEstimatorHybrid,totalHits: " + totalHits + "\n"); } peer.write(new Text("Estimated value of PI(3,14159265) using " + m_iterations + " iterations is"), new DoubleWritable(pi)); } long stopTime = 0; if (m_timeMeasurement) { stopTime = System.currentTimeMillis(); LOG.info("# cleanupTime: " + ((stopTime - startTime) / 1000.0) + " sec"); } if (m_isDebuggingEnabled) { m_logger.writeChars("PiEstimatorHybrid,cleanupTime: " + ((stopTime - startTime) / 1000.0) + " sec\n"); m_logger.close(); } }
From source file:at.illecker.hama.hybrid.examples.summation.SummationBSP.java
License:Apache License
@Override public void bsp(BSPPeer<Text, Text, Text, DoubleWritable, DoubleWritable> peer) throws IOException, SyncException, InterruptedException { BSPJob job = new BSPJob((HamaConfiguration) peer.getConfiguration()); FileSystem fs = FileSystem.get(peer.getConfiguration()); FSDataOutputStream outStream = fs/*w ww. j a v a 2 s . c om*/ .create(new Path(FileOutputFormat.getOutputPath(job), peer.getTaskId() + ".log")); outStream.writeChars("SummationBSP.bsp executed on CPU!\n"); double intermediateSum = 0.0; Text key = new Text(); Text value = new Text(); while (peer.readNext(key, value)) { outStream.writeChars("SummationBSP.bsp key: " + key + " value: " + value + "\n"); intermediateSum += Double.parseDouble(value.toString()); } outStream.writeChars("SummationBSP.bsp send intermediateSum: " + intermediateSum + "\n"); peer.send(m_masterTask, new DoubleWritable(intermediateSum)); peer.sync(); // Consume messages if (peer.getPeerName().equals(m_masterTask)) { outStream.writeChars("SummationBSP.bsp consume messages...\n"); double sum = 0.0; int msg_count = peer.getNumCurrentMessages(); for (int i = 0; i < msg_count; i++) { DoubleWritable msg = peer.getCurrentMessage(); outStream.writeChars("SummationBSP.bsp message: " + msg.get() + "\n"); sum += msg.get(); } outStream.writeChars("SummationBSP.bsp write Sum: " + sum + "\n"); peer.write(new Text("Sum"), new DoubleWritable(sum)); } outStream.close(); }
From source file:at.illecker.hama.rootbeer.examples.hellorootbeer.HelloRootbeerGpuBSP.java
License:Apache License
@Override public void bsp(BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, DoubleWritable> peer) throws IOException, SyncException, InterruptedException { // Generate GPU Kernels List<Kernel> kernels = new ArrayList<Kernel>(); for (int i = 0; i < m_kernelCount; i++) { kernels.add(new HelloRootbeerKernel(m_iterations)); }//w w w. j av a 2s. c o m // Run GPU Kernels Rootbeer rootbeer = new Rootbeer(); Context context = rootbeer.createDefaultContext(); Stopwatch watch = new Stopwatch(); watch.start(); rootbeer.run(kernels, context); watch.stop(); // Write log to dfs BSPJob job = new BSPJob((HamaConfiguration) peer.getConfiguration()); FileSystem fs = FileSystem.get(peer.getConfiguration()); FSDataOutputStream outStream = fs .create(new Path(FileOutputFormat.getOutputPath(job), peer.getTaskId() + ".log")); outStream.writeChars("KernelCount: " + m_kernelCount + "\n"); outStream.writeChars("Iterations: " + m_iterations + "\n"); outStream.writeChars("GPU time: " + watch.elapsedTimeMillis() + " ms\n"); List<StatsRow> stats = context.getStats(); for (StatsRow row : stats) { outStream.writeChars(" StatsRow:\n"); outStream.writeChars(" serial time: " + row.getSerializationTime() + "\n"); outStream.writeChars(" exec time: " + row.getExecutionTime() + "\n"); outStream.writeChars(" deserial time: " + row.getDeserializationTime() + "\n"); outStream.writeChars(" num blocks: " + row.getNumBlocks() + "\n"); outStream.writeChars(" num threads: " + row.getNumThreads() + "\n"); } outStream.close(); // Send result to MasterTask for (int i = 0; i < m_kernelCount; i++) { HelloRootbeerKernel kernel = (HelloRootbeerKernel) kernels.get(i); peer.send(m_masterTask, new DoubleWritable(kernel.m_result)); } peer.sync(); }
From source file:at.illecker.hama.rootbeer.examples.hellorootbeer.HelloRootbeerGpuBSP.java
License:Apache License
@Override public void cleanup(BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, DoubleWritable> peer) throws IOException { if (peer.getPeerName().equals(m_masterTask)) { double sum = 0.0; DoubleWritable received;//from w w w .ja va2 s. c o m while ((received = peer.getCurrentMessage()) != null) { sum += received.get(); } double expectedResult = peer.getNumPeers() * m_kernelCount * m_iterations; Assert.assertEquals(expectedResult, sum); peer.write(new Text( "Result of " + (peer.getNumPeers() * m_kernelCount * m_iterations) + " calculations is"), new DoubleWritable(sum)); } }
From source file:at.illecker.hama.rootbeer.examples.piestimator.cpu.PiEstimatorCpuBSP.java
License:Apache License
@Override public void cleanup(BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, LongWritable> peer) throws IOException { // MasterTask writes out results if (peer.getPeerName().equals(m_masterTask)) { int numMessages = peer.getNumCurrentMessages(); long totalHits = 0; LongWritable received;//from w w w.j a va2 s.co m while ((received = peer.getCurrentMessage()) != null) { totalHits += received.get(); } double pi = 4.0 * totalHits / (m_calculationsPerBspTask * numMessages); // DEBUG if (m_isDebuggingEnabled) { // Write log to dfs BSPJob job = new BSPJob((HamaConfiguration) peer.getConfiguration()); FileSystem fs = FileSystem.get(peer.getConfiguration()); FSDataOutputStream outStream = fs .create(new Path(FileOutputFormat.getOutputPath(job), peer.getTaskId() + ".log")); outStream.writeChars("BSP=PiEstimatorCpuBSP,Iterations=" + m_iterations + "\n"); outStream.writeChars("totalHits: " + totalHits + "\n"); outStream.writeChars("numMessages: " + numMessages + "\n"); outStream.writeChars("calculationsPerBspTask: " + m_calculationsPerBspTask + "\n"); outStream.writeChars("calculationsTotal: " + (m_calculationsPerBspTask * numMessages) + "\n"); outStream.close(); } peer.write( new Text("Estimated value of PI(3,14159265) using " + (m_calculationsPerBspTask * numMessages) // + (peer.getNumPeers() * m_threadCount * m_iterations) + " points is"), new DoubleWritable(pi)); } }
From source file:at.illecker.hama.rootbeer.examples.piestimator.gpu.PiEstimatorGpuBSP.java
License:Apache License
@Override public void cleanup(BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, LongWritable> peer) throws IOException { if (peer.getPeerName().equals(m_masterTask)) { long totalHits = 0; LongWritable received;// w ww . ja v a2 s.co m while ((received = peer.getCurrentMessage()) != null) { totalHits += received.get(); } double pi = 4.0 * totalHits / (m_calculationsPerThread * m_blockSize * m_gridSize); peer.write( new Text("Estimated value of PI(3,14159265) using " + (m_calculationsPerThread * m_blockSize * m_gridSize) + " points is"), new DoubleWritable(pi)); } }
From source file:bookExamples.ch4.algorithms.PageRankVertexComputation.java
License:Apache License
@Override public void compute(Vertex<LongWritable, DoubleWritable, NullWritable> 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 2 s . c o m*/ } DoubleWritable vertexValue = new DoubleWritable(0.15f / getTotalNumVertices() + 0.85f * sum); vertex.setValue(vertexValue); } if (getSuperstep() < MAX_SUPERSTEPS) { long edges = vertex.getNumEdges(); sendMessageToAllEdges(vertex, new DoubleWritable(vertex.getValue().get() / edges)); } else { vertex.voteToHalt(); } }