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