apache / apache/parquet-java

Specification for RLEDictionary encoding is incorrect.

Offen
#2,660 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Component: Parquet Priority: Major Type: bug
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
33

Beschreibung

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.*

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit dem Abschnitt RLE Dictionary in Encodings.md und vergleiche dessen Formulierung mit DictionaryValuesWriter.java in der verlinkten Implementierung. Prüfe die verlinkte Diskussion auf die beabsichtigte Interpretation und aktualisiere dann die Spezifikation, sodass das dokumentierte Byte-Layout mit der Implementierung übereinstimmt, und verifiziere, dass die umgebende Beschreibung der Kodierung konsistent bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.