Uh oh!
There was an error while loading. Please reload this page.
[SPARK-10895][SPARK-11164][SQL] Push down InSet and string filters to Parquet - #8956
[SPARK-10895][SPARK-11164][SQL] Push down InSet and string filters to Parquet#8956viirya wants to merge 5 commits into
Conversation
SparkQA
commented
Oct 1, 2015
Test build #43149 has finished for PR 8956 at commit
|
rxin
commented
Oct 3, 2015
cc @liancheng |
SparkQA
commented
Oct 3, 2015
Test build #43213 has finished for PR 8956 at commit
|
viirya
commented
Oct 3, 2015
retest this please. |
SparkQA
commented
Oct 3, 2015
Test build #43215 has finished for PR 8956 at commit
|
SparkQA
commented
Oct 5, 2015
Test build #43238 has finished for PR 8956 at commit
|
liancheng
commented
Oct 15, 2015
Off topic but related, privatevalmin= valueSet.min
privatevalmax= valueSet.max
overridedefcanDrop(statistics: Statistics[T]):Boolean= {
statistics.getMax.compareTo(min) <0|| max.compareTo(statistics.getMin) <0
}(And we probably should rename |
viirya
commented
Oct 17, 2015
@liancheng Thank you for your detailed comments. I've updated this patch. When the tests are passed, please review it again to see if there is any problem. |
SparkQA
commented
Oct 17, 2015
Test build #43878 has finished for PR 8956 at commit
|
viirya
commented
Oct 17, 2015
retest this please. |
SparkQA
commented
Oct 17, 2015
Test build #43880 has finished for PR 8956 at commit
|
rxin
commented
Oct 17, 2015
Are there any performance improvements by pushing this down? |
viirya
commented
Oct 17, 2015
I can run some performance tests later. |
rxin
commented
Oct 17, 2015
Thanks - that'd be great. |
viirya
commented
Oct 19, 2015
Sorry I am in travel. I will submit the test few days after. |
rxin
commented
Oct 19, 2015
@viirya do you mind closing this and reopening it when it's ready? |
viirya
commented
Oct 20, 2015
Sure. |
viirya
commented
Oct 25, 2015
@rxin I am curious that although I don't observe significant performance improvement from a simple projection + filter operation by now with simple experiment, by making this filters pushed down to Parquet side, do we retrieve less data and reduce the memory footprint? If so, even under the same performance level, is this patch still worth merging? |
rxin
commented
Oct 25, 2015
If we don't observe performance improvements, it's definitely not worth it. Can you post your how you measured it, and performance results? Thanks. |
viirya
commented
Oct 25, 2015
ok. Thanks. Because we found that with pushdown filters, we can avoid the OOM problem when processing large data in our daily usage. I am wondering if it is helpful to others too. I will post the the performance test later. |
rxin
commented
Oct 25, 2015
How does pushdown avoid OOM? |
viirya
commented
Oct 25, 2015
Because we can pre-filtering the data? Without pushdown, the whole data will be loaded into memory and then has been filtered later. |
rxin
commented
Oct 25, 2015
Is that the case? I thought we load them one by one (or small batch at a time) and then apply the filter directly on them? |
viirya
commented
Oct 25, 2015
Hmm, I am not sure about that. Because I supposed that Parquet relation will read all data first if no pushdown filters are applied. Then Spark SQL's |
liancheng
commented
Oct 26, 2015
Well, it depends. The situation is a little bit tricky to explain. In general there are two cases:
|
viirya
commented
Oct 26, 2015
Thank you @liancheng for clear explanation! So looks like the only benefit of this patch is the reduced memory footprint under certain cases. If you all think it is not worth merging this, we should keep it closed. |
liancheng
commented
Oct 27, 2015
viirya
commented
Oct 27, 2015
@liancheng ok. Thank you. |
JIRA: https://issues.apache.org/jira/browse/SPARK-10895