diff --git a/parquet-avro/src/main/java/org/apache/parquet/avro/AvroConverters.java b/parquet-avro/src/main/java/org/apache/parquet/avro/AvroConverters.java index 817f074300..cc49cc2002 100644 --- a/parquet-avro/src/main/java/org/apache/parquet/avro/AvroConverters.java +++ b/parquet-avro/src/main/java/org/apache/parquet/avro/AvroConverters.java @@ -76,9 +76,13 @@ public void setDictionary(Dictionary dictionary) { } } + public T prepareDictionaryValue(T value) { + return value; + } + @Override public void addValueFromDictionary(int dictionaryId) { - parent.add(dict[dictionaryId]); + parent.add(prepareDictionaryValue(dict[dictionaryId])); } } @@ -220,6 +224,11 @@ public FieldByteBufferConverter(ParentValueContainer parent) { public ByteBuffer convert(Binary binary) { return ByteBuffer.wrap(binary.getBytes()); } + + @Override + public ByteBuffer prepareDictionaryValue(ByteBuffer value) { + return value.duplicate(); + } } static final class FieldStringConverter extends BinaryConverter {