[ 
https://issues.apache.org/jira/browse/PARQUET-1602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16866562#comment-16866562
 ] 

Gabor Szadovszky commented on PARQUET-1602:
-------------------------------------------

Not everything is clear, but it seems that it works as expected. It should work 
the following way:
The column {{url}} has 3 pages. Your filter finds out that {{page-0}} matches. 
Based on the offset index it is translated to the row range {{[0..19999]}}. 
Therefore, we need to load {{page-0}} for the column {{url}} and all the pages 
are in the row range {{[0..19999]}} for column {{content}}.
I don't know why {{page-212}} is loaded but {{page-213}} is not. Based on the 
described mechanism, only pages in the row range {{[0..19999]}} should have 
been loaded, but in terms of the data volume it is correct that many pages of 
the column {{content}} need to be loaded because column {{url}} has only 3 
pages.
You may fine-tune it by decreasing the value of the property 
{{parquet.page.row.count.limit}} from 20k so more pages will be created for the 
column {{url}}.

Note: The {{(...)}} in the middle of the listed value is the mark of the 
truncation at display time. Unfortunately, the tools display the min/max values 
with a hardcoded maximum length of 40.

> PageIndex not working as suggested ?
> ------------------------------------
>
>                 Key: PARQUET-1602
>                 URL: https://issues.apache.org/jira/browse/PARQUET-1602
>             Project: Parquet
>          Issue Type: Improvement
>          Components: parquet-mr
>    Affects Versions: 1.11.0
>            Reporter: Anthony Pessy
>            Priority: Major
>
> I have a schema such as:
> {code:java}
> schema message pages {
>   required binary url (STRING);
>   optional binary content (STRING);
> }
> {code}
> Where `url` is unique and ordered, the file is created in such a way that I 
> have ~600 pages of `content` for 1 page of `url`.
>  
> From [https://github.com/apache/parquet-format/blob/master/PageIndex.md] I 
> saw:
> {noformat}
> A single-row lookup in a rowgroup based on the sort column of that rowgroup 
> will only read one data page per retrieved column.{noformat}
> I was expecting `ParquetReader`  to find the matching row thanks to the 
> `FilterPredicate`  on `url`, decoding only this column, then, using `offset 
> index`, directly seek to the appropriate page for `content` and decode it.
> Instead, what I'm seeing, is that the reader fully reads & decode the ~600 
> pages of content (until it actually find the url).
> Is there something I misunderstood or some step to ensure to make the reader 
> only consume the necessary pages?
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to