apache / apache/parquet-java

Specification for RLEDictionary encoding is incorrect.

Ouverte
#2,660 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Component: Parquet Priority: Major Type: bug
Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
3 j 12 h
PR mergées (30 j)
33

Description

The [spec for RLE Dictionary\|[https://github.com/apache/parquet-format/blob/master/Encodings.md#dictionary-encoding-plain_dictionary--2-and-rle_dictionary--8]] encoding says the "length of the encoded-data" is placed before the "encoded-data". Reproducing the first 3 lines here:

```

rle-bit-packed-hybrid:

length := length of the in bytes stored as 4 bytes little endian (unsigned int32)

encoded-data := \*

```

However, this is not true. Parquet-MR implementation does not encode the length in front of the data. It encodes bitWidth as 1 byte. See [implementation\|[https://github.com/apache/parquet-mr/blob/01a5d074829ad4cf4de1f662d54fe7bceb4bef63/parquet-column/src/main/java/org/apache/parquet/column/values/dictionary/DictionaryValuesWriter.java#L173]].

I'm proposing the spec be updated to state the above clearly.

see discussion here:

 

**Reporter**: [Balaji K](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=gamaken)

**Note**: *This issue was originally created as [PARQUET-2108](https://issues.apache.org/jira/browse/PARQUET-2108). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Guide de contribution

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

Piste de recherche

Commencez par la section RLE Dictionary dans Encodings.md et comparez sa formulation avec DictionaryValuesWriter.java dans l’implémentation liée. Consultez la discussion liée pour connaître l’interprétation prévue, puis mettez à jour la spécification afin que la disposition des octets documentée corresponde à l’implémentation, et vérifiez que la description environnante de l’encodage reste cohérente.

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

Évaluation

Stack technique
java
Domaine
documentation
Type d'issue
Documentation
Difficulté
1/5
Temps estimé
Moins d'une heure
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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