Uh oh!
There was an error while loading. Please reload this page.
[SPARK-25702][SQL] Push down filters with Not operator in Parquet - #22687
[SPARK-25702][SQL] Push down filters with Not operator in Parquet#22687gengliangwang wants to merge 1 commit into
Not operator in Parquet#22687Conversation
Won't such predicates be simplified at |
| createFilterHelper(nameToParquetField, | ||
| sources.And(sources.Not(lhs), sources.Not(rhs)), canPartialPushDownConjuncts = true) | ||
| case sources.Not(sources.Not(pred)) if canPartialPushDownConjuncts => |
There was a problem hiding this comment.
hm, is this actually reachable?
gengliangwang
commented
Oct 10, 2018
@viirya@HyukjinKwon I did the code changes and then I found the condition is not reachable, as I have stated in PR description. Just feel that it won't hurt to have such handling in data source module, the changes in code is short. I am OK to close this one. |
viirya
commented
Oct 10, 2018
I prefer not to add code that will not run. Let's see others options too. |
gengliangwang
commented
Oct 10, 2018
It's OK. Close this one. |
SparkQA
commented
Oct 10, 2018
Test build #97193 has finished for PR 22687 at commit
|
What changes were proposed in this pull request?
Currently, in ParquetFilters, predicates inside
Notoperator are considered as unable to perform partial push down.However, the following cases is still possible for push down:
Not(Or(left, right))can be conversed asAnd(Not(left), Not(right))Not(Not(pred))can be conversed aspredBoth cases should be quite trivial, since the
Notoperator should be pushed down by optimization ruleBooleanSimplificationalready.But I think it should be good to handle such cases in Parquet data source module as well.
How was this patch tested?
New unit test.