Is big Decimal in Parquet big endian?
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.6k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 33
Description
### Describe the usage question you have. Please include as many useful details as possible.
It's not clear from description https://parquet.apache.org/docs/file-format/data-pages/encodings/ how are big Decimals (precision >= 18) placed. As I could understand they can be encoded as BYTE_ARRAY or FIXED_LEN_BYTE_ARRAY. But there're two ways to place "the bytes contained in the array" from memory: big endian and little endian. I.e. they are in LE in int128 in memory. Could I place the bytes into FIXED_LEN_BYTE_ARRAY as is?
It's also not clean if there's some encoding over these decimal's bytes, should the data be swapped to correct endianness before of after the encoding?
### Component(s)
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Parquet data-pages encodings documentation linked in the issue and verify the byte order and encoding rules for BYTE_ARRAY and FIXED_LEN_BYTE_ARRAY decimal values. Done means documenting whether big decimals use big-endian or little-endian bytes and when any encoding or byte swapping occurs.
Written by the indexing model from the issue text.
Assessment
- Domain
- data-engineering
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100