HuaHuaY commented on PR #10417: URL: https://github.com/apache/arrow-rs/pull/10417#issuecomment-5060617874
> Hi @HuaHuaY! > > Arrow Variant closely follows the Parquet Variant spec - https://github.com/apache/parquet-format/blob/master/VariantEncoding.md > > The arrow [primitive type mapping](https://arrow.apache.org/docs/format/CanonicalExtensions.html#primitive-type-mappings) you've linked is following the table from the spec here - https://github.com/apache/parquet-format/blob/master/VariantEncoding.md#encoding-types - It's about unshredded Variant. > > The shredding spec here - https://github.com/apache/parquet-format/blob/master/VariantShredding.md#shredded-value-types - lists which Parquet types should be mapped to each Variant type for shredding. > > Variant Type Parquet Physical Type Parquet Logical Type > ... > int8 INT32 INT(8, true) > int16 INT32 INT(16, true) > int32 INT32 > int64 INT64 > ... > Here Int* Variant types have to be represented by signed integers in Parquet -> we use signed int arrow arrays to store them. > > cc @klion26 Hi @sdf-jkl! As I understand it, the documentation you provided regarding "unshredded" and "shredded" variants refers to the mapping between primitive types and Parquet types within the Parquet variant format. It does not address how Arrow's variant type maps to the Parquet variant. Notably, the Arrow documentation mentions unsigned integers, whereas the Parquet documentation does not. This PR specifically concerns unsigned integer types. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
