apache / apache/parquet-java

Different RLE Encoding Specification

Offen
#1,958 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Component: Parquet Priority: Trivial Type: enhancement
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
33

Beschreibung

In the parquet-format specification https://github.com/Parquet/parquet-format/blob/master/Encodings.md#run-length-encoding--bit-packing-hybrid-rle--3
is written that the RLE encoding starts with
```
rle-bit-packed-hybrid:
length := length of the in bytes stored as 4 bytes little endian
```

while in the cpp implementation there is this description https://github.com/apache/parquet-cpp/blob/master/src/parquet/util/rle-encoding.h#L42 and the implementation seems to follow that specification
which does not include the initial
https://github.com/apache/parquet-cpp/blob/master/src/parquet/util/rle-encoding.h#L272

So which one is the correct? seems that the parquet-format is the wrong one.
DataPage.definitionLevels uses RLE and none of the example format files seem to have that initial

Also the use of both names `literal` and `bit-encoding` is confusing.

**Reporter**: [Fabrizio Milo](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=fmilo)

**Note**: *This issue was originally created as [PARQUET-575](https://issues.apache.org/jira/browse/PARQUET-575). 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

Vergleiche die RLE/bit-packing-Beschreibung in Encodings.md mit der referenzierten Implementierung in parquet-cpp rle-encoding.h, einschließlich der Verwendung der Definitionsebene von DataPage und der Formatbeispieldateien. Ermittle, welches Framing und welche Terminologie maßgeblich sind, und aktualisiere die Spezifikation und präzisiere die Bezeichnungen, sobald die Abweichung geklärt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

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