apache / apache/parquet-java

Filter predicate should be able to filter on columns not specified in projection pushdown

Open
#1,438 2 comments 0 reactions 0 assignees View on GitHub
Component: Java Component: Parquet Priority: Minor Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

When using both filter predicate and projection pushdown of columns, the column specified in the filter predicate, should not have to be specified in the projection pushdown.

For example, if I want the first names of students that are over the age of 16, then I should be able to specify ParquetInputFormat.setFilterPredicate(jobConf, IntColumn("age") > 16) and only have to specify ThriftReadSupport.setProjectionPushdown(jobConf, "fname")

**Reporter**: [Tim Chan](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=zzztimbo) / @zzztimbo

**Note**: *This issue was originally created as [PARQUET-295](https://issues.apache.org/jira/browse/PARQUET-295). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with ParquetInputFormat.setFilterPredicate and ThriftReadSupport.setProjectionPushdown, using the example in the issue to trace how projected columns and filter columns are handled together. The work is done when a projection containing only fname can still filter on age > 16, with coverage for that behavior added to the relevant existing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.