Skip to content

[C++][Parquet] Parquet writer supports writing int32/int64 for decimal type #15239

@wgtmac

Description

@wgtmac

Describe the enhancement requested

As the parquet specs states below, decimal types with small precision can use int32/int64 physical types.

DECIMAL can be used to annotate the following types:

- int32: for 1 <= precision <= 9
- int64: for 1 <= precision <= 18; precision < 10 will produce a warning
- fixed_len_byte_array: precision is limited by the array size. Length n can store <= floor(log_10(2^(8*n - 1) - 1)) base-10 digits
- binary: precision is not limited, but is required. The minimum number of bytes to store the unscaled value should be used.

The aim of this issue is to provide a writer option to write decimal types using int32 when 1 <= precision <= 9 and int64 when 10 <= precision <= 18.

Component(s)

C++, Parquet

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions