PARQUET-397: Implement Pig predicate pushdown - #331
Closed
rdblue wants to merge 9 commits into
Closed
Conversation
…-predicate-pushdown
Previously, the expresison builder would return null for unsupported expressions, but it is unclear whether that behavior is correct. Instead, if the expression can't be converted to a filter, this will throw an exception so it can be rewritten. This also implements "in", "between", "!=", and "not" expressions.
| buildFilter(OpType.OP_GE, (Column) lhs, (Const) between.getLower()), | ||
| buildFilter(OpType.OP_LE, (Column) lhs, (Const) between.getUpper())); | ||
| case OP_IN: | ||
| FilterPredicate current = null; |
There was a problem hiding this comment.
BETWEEN and IN aren't currently supported in Pig and there's still some question on the bounds (inclusive vs. exclusive) so we might want to comment these out for now and put a TODO. (I guess this should be commented out in getSupportedExpressionTypes()
|
Minor comment on +1 |
piyushnarang
pushed a commit
to piyushnarang/parquet-mr
that referenced
this pull request
Jun 15, 2016
This is based on apache#296 from @danielcweeks and implements a few remaining review items. Closes apache#296. Author: Daniel Weeks <dweeks@netflix.com> Author: Ryan Blue <blue@apache.org> Closes apache#331 from rdblue/PARQUET-397-pig-predicate-pushdown and squashes the following commits: c7a9b02 [Ryan Blue] PARQUET-397: Address review comments. 54e23a6 [Ryan Blue] PARQUET-397: Update Pig PPD to throw for bad expressions. 388099b [Daniel Weeks] Cleaning up imports 6b405b4 [Daniel Weeks] Merge remote-tracking branch 'rdblue/pig-predicate-pushdown' into pig-predicate-pushdown f1ef73e [Daniel Weeks] Fixed binary type and storing filter predicate a39fdff [Ryan Blue] WIP: Handle a few error cases in Pig predicate pushdown. 2666849 [Daniel Weeks] Fixed test to check the actual number of materialized rows from the reader 7b019a6 [Daniel Weeks] update tests and logging f8ca447 [Daniel Weeks] Add predicate pushdown using filter2 api
rdblue
pushed a commit
to rdblue/parquet-mr
that referenced
this pull request
Jul 13, 2016
This is based on apache#296 from @danielcweeks and implements a few remaining review items. Closes apache#296. Author: Daniel Weeks <dweeks@netflix.com> Author: Ryan Blue <blue@apache.org> Closes apache#331 from rdblue/PARQUET-397-pig-predicate-pushdown and squashes the following commits: c7a9b02 [Ryan Blue] PARQUET-397: Address review comments. 54e23a6 [Ryan Blue] PARQUET-397: Update Pig PPD to throw for bad expressions. 388099b [Daniel Weeks] Cleaning up imports 6b405b4 [Daniel Weeks] Merge remote-tracking branch 'rdblue/pig-predicate-pushdown' into pig-predicate-pushdown f1ef73e [Daniel Weeks] Fixed binary type and storing filter predicate a39fdff [Ryan Blue] WIP: Handle a few error cases in Pig predicate pushdown. 2666849 [Daniel Weeks] Fixed test to check the actual number of materialized rows from the reader 7b019a6 [Daniel Weeks] update tests and logging f8ca447 [Daniel Weeks] Add predicate pushdown using filter2 api Conflicts: pom.xml Resolution: Fixed up adjacent changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is based on #296 from @danielcweeks and implements a few remaining review items.
Closes #296.