The original Map-Reduce execution chain is: InputSplits-->Mapper--> [Sorting/Shuffling, etc]-->Reducer-->...
Now I don't want the input splits to get to the Mappers first, but to go to some other new stage instead (we can call it Pre-Mapper for example, this class will be created by myself).
So the new order will be: InputSplits -> Pre-Mapper->Mapper ->...
I'm currently reading the source code. However, I still cannot find any clue (what classes I should touch).
Any suggestion is welcome. Thank you very much :)