Ah, okay, I see the problem.  Abstract classes cannot be instantiated in Java.  
Ensure you've implemented all of the abstract methods, remove the abstract 
keyword from your class definition, and you should be ready to roll.

-John

Sent from my iPhone

> On Jul 1, 2014, at 5:42 AM, Carmen Manzulli <carmenmanzu...@gmail.com> wrote:
> 
> Hi John,
> yes I've tried to insert a no-arguments constructor but the problem seems to 
> be another one.This is my code, an input format with a vertexreader to read 
> triple as RDF.
> 
> import java.io.IOException;
> import java.util.ArrayList;
> import java.lang.InterruptedException;
> 
> import org.apache.giraph.graph.Vertex;
> import org.apache.giraph.edge.Edge;
> import org.apache.giraph.edge.EdgeFactory;
> import org.apache.giraph.io.VertexReader;
> import org.apache.giraph.io.VertexInputFormat;
> import org.apache.hadoop.io.LongWritable;
> import org.apache.hadoop.io.NullWritable;
> import org.apache.hadoop.io.Text;
> import org.apache.hadoop.mapreduce.InputSplit;
> import org.apache.hadoop.mapreduce.RecordReader;
> import org.apache.hadoop.mapreduce.lib.input.LineRecordReader;
> import org.apache.hadoop.mapreduce.TaskAttemptContext;
> 
> 
> 
> public abstract class SimpleRDFVertexInputFormat extends VertexInputFormat 
> <Text,NullWritable,Text> {
>     
>     public SimpleRDFVertexInputFormat() {
>         // TODO Auto-generated constructor stub
>         super();
>     }
>         
>     public VertexReader<Text,NullWritable,Text> createVertexReader(InputSplit 
> split,TaskAttemptContext context) throws IOException{
>         return new SimpleRDFVertexReader();
>     }
>     public class SimpleRDFVertexReader extends 
> VertexReader<Text,NullWritable,Text>{
>         
>         private RecordReader<LongWritable,Text> lineRecordReader;
>         private TaskAttemptContext context;
>         
>     
>         @Override
>         public void initialize(InputSplit inputsplit, TaskAttemptContext 
> context) throws IOException, InterruptedException{
>             
>             this.setContext(context);
>             lineRecordReader= new LineRecordReader();
>             lineRecordReader.initialize(inputsplit, context);
>     
>         }
>         
>         @Override
>         public final boolean nextVertex() throws IOException, 
> InterruptedException{
>             return lineRecordReader.nextKeyValue();
>         }
>         
>         
>         @Override
>         public final Vertex<Text,NullWritable,Text> getCurrentVertex() throws 
> IOException, InterruptedException{
>             Text line = lineRecordReader.getCurrentValue();
>             Vertex<Text,NullWritable,Text> vertex = getConf().createVertex();
>             String[] elements = line.toString().split(" ");
>             Text firstele = new Text(elements[0]);
>             int len1 = firstele.getLength();
>             Text  subject = new Text(firstele.toString().substring(1, 
> len1-1));
>             Text secondele = new Text(elements[1]);
>             int len2 = secondele.getLength();
>             Text predicate = new Text(secondele.toString().substring(1, 
> len2-1));
>             Text object = new Text(elements[2]);
>             ArrayList<Edge<Text,Text>> edge = new 
> ArrayList<Edge<Text,Text>>();
>             edge.add(EdgeFactory.create(object, predicate) );
>             vertex.initialize(subject, null, edge );
>             return vertex;
>             
>         }
>         
>         @Override
>         public void close() throws IOException{
>             lineRecordReader.close();
>         }
>         
>         @Override
>         public  float getProgress()throws IOException,InterruptedException{
>             return lineRecordReader.getProgress();
>         }
> 
>         public TaskAttemptContext getContext() {
>             return context;
>         }
> 
>         public void setContext(TaskAttemptContext context) {
>             this.context = context;
>         }
>          
>     
>     }
> 
>     
> }
> 
> 
> 2014-07-01 4:23 GMT+02:00 John Yost <soozandjohny...@gmail.com>:
>> Hi Carmen,
>> 
>> Question--did you only define an arguments constructor?  If so, I think you 
>> are getting this because you did not define a no-arguments constructor with 
>> public visibility.  If this is not the case, I recommend posting your source 
>> code and I will be happy to help. 
>> 
>> --John
>> 
>> 
>>> On Mon, Jun 30, 2014 at 9:38 AM, Carmen Manzulli <carmenmanzu...@gmail.com> 
>>> wrote:
>>> Hi,
>>> I'm trying to run a selectionComputation with my own code for 
>>> VertexInputFormat but giraph' job starts to work and then fails with:
>>> 
>>> 
>>> 
>>> 
>>> 
>>> java.lang.IllegalStateException: run: Caught an unrecoverable exception 
>>> newInstance: Couldn't instantiate sisinflab.SimpleRDFVertexInputFormat
>>>     at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:101)
>>>     at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
>>>     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364)
>>>     at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
>>>     at java.security.AccessController.doPrivileged(Native Method)
>>>     at javax.security.auth.Subject.doAs(Subject.java:415)
>>>     at 
>>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
>>>     at org.apache.hadoop.mapred.Child.main(Child.java:249)
>>> Caused by: java.lang.IllegalStateException: newInstance: Couldn't 
>>> instantiate sisinflab.SimpleRDFVertexInputFormat
>>>     at 
>>> org.apache.giraph.utils.ReflectionUtils.newInstance(ReflectionUtils.java:105)
>>>     at 
>>> org.apache.giraph.conf.ImmutableClassesGiraphConfiguration.createVertexInputFormat(ImmutableClassesGiraphConfiguration.java:235)
>>>     at 
>>> org.apache.giraph.conf.ImmutableClassesGiraphConfiguration.createWrappedVertexInputFormat(ImmutableClassesGiraphConfiguration.java:246)
>>>     at 
>>> org.apache.giraph.graph.GraphTaskManager.checkInput(GraphTaskManager.java:171)
>>>     at 
>>> org.apache.giraph.graph.GraphTaskManager.setup(GraphTaskManager.java:207)
>>>     at org.apache.giraph.graph.GraphMapper.setup(GraphMapper.java:59)
>>>     at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:89)
>>>     ... 7 more
>>> Caused by: java.lang.InstantiationException
>>>     at 
>>> sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
>>>     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>     at java.lang.Class.newInstance(Class.java:374)
>>>     at 
>>> org.apache.giraph.utils.ReflectionUtils.newInstance(ReflectionUtils.java:103)
>>>     ... 13 more
>>> 
>>> 
>>> what does it mean? where is the problem?
>>> Who can help me?
>>> 
>>> Carmen
> 

Reply via email to