So, I'm trying to write out an Hbase Result object (same one I get from my 
TableMapper) to a SequenceFileOutputFormat from my Reducer as the value, but 
I'm getting an error when it's trying to get a serializer. It looks like the 
SerializationFactory can't find a Serialization (only one listed in the Job's 
configuration in io.serializations is WritableSerialization) that will accept 
the Result object. Which is funny, because from the source code of the 
WritableSerialization.accept(), it uses Writable.class.isAssignableFrom(c). 
When I run that manually and pass it Result.class, it returns true.


When I use TextOutputFormat, it outputs fine, which I'm guessing is because it 
just calls .toString() on the Key & Value, so doesn't need to mess with the 
Serialization stuff. So, any ideas or hints to try and get this working?

In case it matters, I'm on CDH3u1.

    java.lang.NullPointerException
        at 
org.apache.hadoop.io.serializer.SerializationFactory.getSerializer(SerializationFactory.java:73)
        at org.apache.hadoop.io.SequenceFile$Writer.init(SequenceFile.java:908)
        at 
org.apache.hadoop.io.SequenceFile$Writer.<init>(SequenceFile.java:843)
        at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:393)
        at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:354)
        at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:427)
        at 
org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat.getRecordWriter(SequenceFileOutputFormat.java:61)
        at 
org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:559)
        at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:414)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
        at org.apache.hadoop.mapred.Child.main(Child.java:264)

Reply via email to