Specification for RLEDictionary encoding is incorrect.
- 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