Crunch has this great Pair class (https://crunch.apache.org/apidocs/0.14.0/org/apache/crunch/Pair.html) that saves one from constantly implementing composite writables. It seems silly that we still don't have an equivalent in MR.
I would like to see a new class with the following API:
With such a class, implementing a secondary sort would mean just implementing a custom grouping comparator. That comparator could also be implemented as part of this JIRA:
Or some such.
Crunch also provides Tuple3, Tuple4, and TupleN classes, but I don't think we need to add equivalents. If someone really wants that capability, they can nest composite keys.
Don't forget to add unit tests!