[ 
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)

Reply via email to