-
Notifications
You must be signed in to change notification settings - Fork 1.5k
PARQUET-397: Implement Pig predicate pushdown #331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
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
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 is based on #296 from @danielcweeks and implements a few remaining review items.
Closes #296.