@Override
    public float readFloat(int id) {
      hiveDecimalWritable.set(dict.decodeToBinary(id).getBytesUnsafe(), scale);
      return (float)(super.validatedDouble(hiveDecimalWritable.doubleValue(),
          serdeConstants.FLOAT_TYPE_NAME));
    }
The reader who reads from the underlying decimal value value.

The data is read as binary from the reader treated as a decimal, then validated, converted
and returned as per the type defined in HMS.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/ParquetDataColumnReaderFactory.java