We initially tried to do exactly this, but did not find a way to pass more than the column names to the ReadSupport (and even only this was nontrivial).
Since Parquet doesn't handle any int smaller than int32, I don't see much of an issue with using IntWritable for short and byte.