[ https://issues.apache.org/jira/browse/PARQUET-2222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17746755#comment-17746755 ]
Gang Wu edited comment on PARQUET-2222 at 7/25/23 4:27 AM: ----------------------------------------------------------- I just revisited this issue. Let me summarize the current state in different implementations: * parquet-mr: ** write: Always PLAIN for v1 and RLE for v2. ** read: Use the actual encoding to create decoder, so both encodings are supported for any data page version. * arrow-rs: ** write: By default PLAIN for v1 and RLE for v2, but can apply RLE for v1 as well. ** read: Use the actual encoding to create decoder. * parquet-cpp: ** write: By default PLAIN for v1 and v2 pages, but both page versions can apply RLE. ** read: Use the actual encoding to create decoder. was (Author: wgtmac): I just revisited this issue and the only problem here and summarize the current state in different implementations: * parquet-mr: ** write: Always PLAIN for v1 and RLE for v2. ** read: Use the actual encoding to create decoder, so both encodings are supported for any data page version. * arrow-rs: ** write: By default PLAIN for v1 and RLE for v2, but can apply RLE for v1 as well. ** read: Use the actual encoding to create decoder. * parquet-cpp: ** write: By default PLAIN for v1 and v2 pages, but both page versions can apply RLE. ** read: Use the actual encoding to create decoder. > [Format] RLE encoding spec incorrect for v2 data pages > ------------------------------------------------------ > > Key: PARQUET-2222 > URL: https://issues.apache.org/jira/browse/PARQUET-2222 > Project: Parquet > Issue Type: Bug > Components: parquet-format > Reporter: Antoine Pitrou > Assignee: Xuwei Fu > Priority: Critical > Fix For: format-2.10.0 > > > The spec > (https://github.com/apache/parquet-format/blob/master/Encodings.md#run-length-encoding--bit-packing-hybrid-rle--3) > has this: > {code} > rle-bit-packed-hybrid: <length> <encoded-data> > length := length of the <encoded-data> in bytes stored as 4 bytes little > endian (unsigned int32) > {code} > But the length is actually prepended only in v1 data pages, not in v2 data > pages. -- This message was sent by Atlassian Jira (v8.20.10#820010)