rather than having a meta field in Type, I would prefer to add scale and precision in PrimitiveType along with length (defined for fixed_length_byte_array) to be more consistent: 
https://github.com/Parquet/parquet-mr/blob/41df19051825d724626e91425c8e690c04a39998/parquet-column/src/main/java/parquet/schema/PrimitiveType.java#L277
Also it is a little awkward to have the generic OriginalTypeMeta in GroupType and type when only the Primitive types have it.