The spec allows fixed, bytes, int64, and int32 backing types. I know Hive
works with fixed because that's what it chooses to use internally. The
problem is that some implementations don't support the full spec.

If you're wondering how the conversion happens, take a look at how Avro
does it:


https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Conversions.java#L99

Parquet's Avro object model uses the same conversion code, though that's
still in a PR right now and could use a review.

rb

On Mon, Mar 14, 2016 at 12:36 PM, Michael Howard <[email protected]>
wrote:

> Ryan Blue wrote:
>
> > * Decimal is supported if the backing primitive type is fixed-length
> binary
>
> I was a little surprised to read this.
>
> Q: Where can I learn more about current parquet support for Decimal /
> BigDecimal?
>
> To be clear, I have not followed this for some time but ...
>
> I thought that there was support for fixed point decimal with an INT64 base
> type and an implied decimal position as a property ... for up to 18 digits
> precision.
>
> If Decimal is being stored as fixed-length binary, for the Java
> implementation I wonder what mechanism is being used to serialize the
> BigDecimal ... since java.math.BigDecimal does not expose a path for byte
> serialization ... except through java.math.BigInteger
>
>
> Michael
>



-- 
Ryan Blue
Software Engineer
Netflix

Reply via email to