Hi Jeff,
I thought about that and I think that you could attempt to write a new DataSink with a specific OutputFormat.
If you look into the existing TextOutputFormat you will see that a "LineWriter" is created once and for all for all the key-values.
In your case you could instantiate a new LineWriter, using a different DataOutputStream, when you encounter a new key.
If you don't have time to do it, please open an issue on github and we'll try to do something. OTOH, if you have time to do it, please consider making it a pull request :-).
Cheers,
Eric.