You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Tim Armstrong (JIRA)" <ji...@apache.org> on 2018/05/01 18:35:00 UTC
[jira] [Created] (PARQUET-1290) Clarify maximum run lengths for RLE
encoding
Tim Armstrong created PARQUET-1290:
--------------------------------------
Summary: Clarify maximum run lengths for RLE encoding
Key: PARQUET-1290
URL: https://issues.apache.org/jira/browse/PARQUET-1290
Project: Parquet
Issue Type: Improvement
Components: parquet-format
Reporter: Tim Armstrong
The Parquet spec isn't clear about what the upper bound on run lengths in the RLE encoding is - https://github.com/apache/parquet-format/blob/master/Encodings.md#run-length-encoding--bit-packing-hybrid-rle--3 .
It sounds like in practice that the major implementations don't support run lengths > (2^31 - 1) - see https://lists.apache.org/thread.html/6731a94a98b790ad24a9a5bb4e1bf9bb799d729e948e046efb40014f@%3Cdev.parquet.apache.org%3E
I propose that we limit {{bit-pack-count}} and {{number of times repeated}} to being <= 2^31.
It seems unlikely that there are parquet files in existence with larger run lengths, given that it requires huge numbers of values per page and major implementations can't write or read such files without overflowing integers. Maybe it would be possible if all the columns in a file were extremely compressible, but it seems like in practice most implementations will hit page or file size limits before producing a very-large run.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)