I'm trying to understand the use of generics in the mapper/reducer classes from examples I've seen in various books. For instance, I understand the following:
List<String> aStringArrayList : types the instance to an ArrayList of Strings
List<TaxRecord> myTaxRecords: types the instance to an ArrayList of TaxRecords
However, I don't understand (in the same way as the above examples) the following:
Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>
What do KEYIN, VALUEIN, KEYOUT, VALUEOUT represent? Are they defined anywhere in the Hadoop source code? I know that they represent input/output values to the mapper (and reducer) but don't understand how they are defined.