expectation from PigStorage.getInputFormat() is that it is a InputFormat<Writable, Text>, and PigStorage handles converting Text to Tuple. This is very useful and easy for users to use some other input format.
But the same is not true for PigStorage().getOutputFormat().. Here it expects OutputFormat<Writable, Tuple>. So the output format needs to convert Tuple to Text(). Not sure if this is intentional or not. I can submit a patch to move Tuple handling into PigStorage. Then PigTextOutputFormat would be as thin as PigTextInputFormat.