don't know whether this question should be asked here, if not, please point me out, thanks.

we are currently using hive on spark, when reading a small int field, it reports error:
Cannot get field 'i16Val' because union is currently set to i32Val

I googled and find only source code of 

TColumnValue.java  where the exception is thrown 

don't know where to go, please help