apache / apache/parquet-java

Is big Decimal in Parquet big endian?

Ouverte
#3,246 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
3 j 12 h
PR mergées (30 j)
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_

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par la documentation sur les encodages des pages de données Parquet liée dans l’issue et vérifiez l’ordre des octets ainsi que les règles d’encodage pour les valeurs décimales de BYTE_ARRAY et FIXED_LEN_BYTE_ARRAY. Le travail est terminé lorsque vous avez documenté si les grands nombres décimaux utilisent des octets en big-endian ou little-endian et à quel moment un encodage ou un échange d’octets se produit.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
data-engineering
Type d'issue
Documentation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.