dear members! I'm new to the list so sorry if this was asked before. I've tried to search the archives but I could not find any thread like this before.
My problem is that I have a class which contains which implements the WritableComparable interface for the input key of the mapreduce algorithm let's assume that this class is A. I have a different abstract class which extends this class with two methods (needed for line parsing) let's call this B, and two other classes which extends this abstract class C and D. I set this original class (A) as the output key for the Mapper, but if I set the output object with the Context.write() method it throws an exception from MapTask.java with the following message: Type mismatch in key from map... My question is why do you need exact class matches in MapTask.java in collect() method, why isn't it better to write this at the line 806: if (keyClass.isAssignableFrom(key.getClass())) { instead of this: if (key.getClass() != keyClass) { thanks, -- KARASZI Istvan