You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tianyi Wang (JIRA)" <ji...@apache.org> on 2017/07/31 17:38:00 UTC

[jira] [Resolved] (IMPALA-5636) Impala writer claims that file uses BIT_PACKED encoding when it doesn't

     [ https://issues.apache.org/jira/browse/IMPALA-5636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tianyi Wang resolved IMPALA-5636.
---------------------------------
    Resolution: Fixed

Fixed in commit b2dbcbc2d1bb7d57c5f50989ad25eec1783e52b2

> Impala writer claims that file uses BIT_PACKED encoding when it doesn't
> -----------------------------------------------------------------------
>
>                 Key: IMPALA-5636
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5636
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>            Reporter: Tim Armstrong
>            Assignee: Tianyi Wang
>            Priority: Minor
>              Labels: parquet
>
> The Parquet writer always adds the BIT_PACKED and RLE encodings even though (I'm pretty sure) we never write out the BIT_PACKED encoding for rep or def levels.  The BIT_PACKED encoding is deprecated according to the Parquet specification: https://github.com/Parquet/parquet-format/blob/master/Encodings.md and it is not clear that Impala can even read it correctly: IMPALA-3006
> One way of seeing that Impala claims to need the BIT_PACKED encoding is to write a parquet file with Impala then inspect it with parquet-tool.
> BIT_PACKED is never written by Impala's parquet writer - the definition levels are always written using an RleEncoder and reported as Encoding::RLE. Weirdly, the repetition levels are reported as "BIT_PACKED", but this encoding has no effect since we don't actually write out repetition levels.
> {code}
>     // The code that populates the column chunk metadata's encodings field
>     // relies on these specific values for the definition/repetition level
>     // encodings.
>     header.definition_level_encoding = Encoding::RLE;
>     header.repetition_level_encoding = Encoding::BIT_PACKED;
>     current_page_->header.__set_data_page_header(header);
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)