While cleaning up Cell related APIs, I found that there are still several classes under hbase-mapreduce use KeyValue in public facing APIs, like TextSortReducer, PutSortReducer, etc.
KeyValue is now IA.Private, I think we should change to use Cell instead. Since KeyValue is a cell, I do not think changing the declaration directly will actually break anything. And we could claim that, before the next major release, the actual output type is still KeyValue, although we have changed the declaration type. In the next major release, we may change the actual output instances to other Cell types so you should change your OutputFormat implementation if it requires KeyValue type. If you use HFileOutputFormat2, there will be no problem at all. Thoughts? Thanks.
