@Override
    PrimitiveConverter getConverter(final PrimitiveType type, final int index, final ConverterParent parent, TypeInfo hiveTypeInfo) {
      return new PrimitiveConverter() {
        @Override
        public void addInt(final int value) {
          Map<String, String> metadata = parent.getMetadata();
          Boolean skipProlepticConversion = DataWritableReadSupport.getWriterDateProleptic(metadata);
          if (skipProlepticConversion == null) {
            skipProlepticConversion = Boolean.parseBoolean(
                metadata.get(HiveConf.ConfVars.HIVE_PARQUET_DATE_PROLEPTIC_GREGORIAN_DEFAULT.varname));
          }
          parent.set(index,
              new DateWritableV2(skipProlepticConversion ? value : CalendarUtils.convertDateToProleptic(value)));
        }
      };
    }
ETypeConverter is an easy way to set the converter for the right type.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/convert/ETypeConverter.java