Hi Wasim, Two things: - TextVertexWriter is not a static class, so VertexWithComponentWriter shouldn't be either - TextVertexWriter only has a default constructor, and you don't have to create RecordWriter
Maja From: Wasim Mohammad <wasim....@gmail.com<mailto:wasim....@gmail.com>> Reply-To: "user@giraph.apache.org<mailto:user@giraph.apache.org>" <user@giraph.apache.org<mailto:user@giraph.apache.org>> Date: Sunday, March 17, 2013 6:21 AM To: "user@giraph.apache.org<mailto:user@giraph.apache.org>" <user@giraph.apache.org<mailto:user@giraph.apache.org>> Subject: Connected components output format Please tell me what is wrong with this code. It is giving me compilation error. package org.apache.giraph.io<http://org.apache.giraph.io>; import org.apache.giraph.graph.Vertex; import org.apache.giraph.io.VertexWriter; import org.apache.giraph.io.formats.TextVertexOutputFormat; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.NullWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.RecordWriter; import org.apache.hadoop.mapreduce.TaskAttemptContext; import java.io.IOException; /** * Text-based {@link org.apache.giraph.graph.VertexOutputFormat} for usage with * {@link ConnectedComponentsVertex} * * Each line consists of a vertex and its associated component (represented by the smallest * vertex id in the component) */ public class VertexWithComponentTextOutputFormat extends TextVertexOutputFormat<IntWritable, IntWritable, NullWritable> { @Override public TextVertexWriter //<IntWritable, IntWritable, NullWritable> createVertexWriter(TaskAttemptContext context) throws IOException, InterruptedException { RecordWriter<Text, Text> recordWriter = textOutputFormat.getRecordWriter(context); return new VertexWithComponentWriter(recordWriter); } static class VertexWithComponentWriter extends TextVertexWriter /*<IntWritable, IntWritable, NullWritable>*/ { public VertexWithComponentWriter(RecordWriter<Text, Text> writer) { super(writer); } @Override public void writeVertex(Vertex<IntWritable, IntWritable, NullWritable,?> vertex) throws IOException, InterruptedException { StringBuilder output = new StringBuilder(); output.append(vertex.getId().get()); output.append('\t'); output.append(vertex.getValue().get()); getRecordWriter().write(new Text(output.toString()), null); } } } Thanks, M.Vasimuddin