Hi,
I'm trying to implement LinkRank in Giraph. For now, I started with a
copy of PageRank example and trying to run and improve it.
My VertexInputFormat: Text Float
My EdgeInputFormat: Text Text
where Text are URLs and Float is the LinkRank score.
Now I'm getting a type mismatch error (below). I could not find the
source of the mismatch. When does one get this error? I'm defining the
edge weights as NullWritable and Messages as FloatWritable. Here it says
at one location I have NullWritable and some place Writable. But I can't
see it.
Thanks,
My source code is:
https://github.com/AGMLab/giraph/tree/trunk/giraph-examples/src/main/java/org/apache/giraph/examples/LinkRank
[emre@localhost giraph-agmlab]$ hadoop jar
giraph-examples/target/giraph-examples-1.1.0-SNAPSHOT-for-hadoop-1.0.2-jar-with-dependencies.jar
org.apache.giraph.GiraphRunner
org.apache.giraph.examples.LinkRank.LinkRankVertex -vif
org.apache.giraph.examples.LinkRank.LinkRankVertexInputFormat -eif
org.apache.giraph.examples.LinkRank.LinkRankEdgeInputFormat -of
org.apache.giraph.examples.LinkRank.LinkRankVertexOutputFormat -w 1 -vip
nodes.txt -eip edges.txt -op linkOutput4
Exception in thread "main" java.lang.IllegalArgumentException:
checkClassTypes: Edge value types don't match, vertex - class
org.apache.hadoop.io.NullWritable, vertex input format - interface
org.apache.hadoop.io.Writable
at
org.apache.giraph.job.GiraphConfigurationValidator.verifyVertexInputFormatGenericTypes(GiraphConfigurationValidator.java:245)
at
org.apache.giraph.job.GiraphConfigurationValidator.validateConfiguration(GiraphConfigurationValidator.java:122)
at
org.apache.giraph.utils.ConfigurationUtils.parseArgs(ConfigurationUtils.java:154)
at org.apache.giraph.GiraphRunner.run(GiraphRunner.java:74)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.giraph.GiraphRunner.main(GiraphRunner.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)