I'm getting a NPE from my combiner. I can only assume it is because I'm using a different schema for the reducer output than the combiner output.
Basically I'm trying to create a time sorted file of key/value pairs (aka Map<Utf8,Utf8>). The nature of the job is such that I may have lots of duplicates I can remove with a combiner. So the output from the mapper is Pair<Long, Map<Utf8,Utf8> (aka extends extends AvroMapper<Map<Utf8, Utf8>, Pair<Long, Map<Utf8, Utf8>>>) The combiner should get Long (aka time) as the key and the value is an Iterator of Map<Utf8,Utf8>. The working job (w/o the combiner) has a reducer that: extends AvroReducer<Long, Map<Utf8, Utf8>, Map<Utf8, Utf8>> When I add the combiner, it seems that I need to extend AvroReducer<Long, Map<Utf8, Utf8>, Pair<Long, Map<Utf8, Utf8>>>. But I get an NPE in the job I can't quite trace back, but it seems related to the output schema from the reducer (Map<Utf8,Utf8>) not matching the output schema of the combiner (Pair<Long, Map<Utf8, Utf8>>) It seems like the implementation requires that the combiner output schema match the reducer output schema. Is this true? Thanks, Steve
