apache / apache/parquet-java

Use FixedSizeBinary instead of Binary for int96 conversion when convertInt96ToArrowTimestamp is false

Open
#3,088 2 comments 1 reaction 0 assignees View on GitHub
Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

### Describe the enhancement requested

```java
public TypeMapping convertINT96(PrimitiveTypeName primitiveTypeName) throws RuntimeException {
if (convertInt96ToArrowTimestamp) {
return field(new ArrowType.Timestamp(TimeUnit.NANOSECOND, null));
} else {
return field(new ArrowType.Binary());
}
}
```
When converting a Parquet type to an Arrow type, if the original type is int96 and the option convertInt96ToArrowTimestamp is set to false, the resulting Arrow type defaults to Binary. However, it might be more appropriate to use FixedSizeBinary instead.

### Component(s)

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the convertINT96 method shown in the issue and inspect the surrounding Parquet-to-Arrow type mapping. Confirm the appropriate FixedSizeBinary representation for int96 when convertInt96ToArrowTimestamp is false, then verify the resulting mapping with the relevant conversion tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.