Uh oh!
There was an error while loading. Please reload this page.
[SPARK-1495][SQL]add support for left semi join - #837
Conversation
adrian-wang
commented
May 20, 2014
AmplabJenkins
commented
May 20, 2014
Can one of the admins verify this patch? |
rxin
commented
May 21, 2014
Jenkins, add to whitelist. |
AmplabJenkins
commented
May 21, 2014
Merged build triggered. |
AmplabJenkins
commented
May 21, 2014
Merged build started. |
AmplabJenkins
commented
May 21, 2014
Merged build finished. |
AmplabJenkins
commented
May 21, 2014
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/15115/ |
AmplabJenkins
commented
May 21, 2014
Merged build triggered. |
AmplabJenkins
commented
May 21, 2014
Merged build started. |
AmplabJenkins
commented
May 21, 2014
Merged build finished. |
AmplabJenkins
commented
May 21, 2014
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/15116/ |
AmplabJenkins
commented
May 21, 2014
Merged build triggered. |
AmplabJenkins
commented
May 21, 2014
Merged build started. |
AmplabJenkins
commented
May 21, 2014
Merged build finished. |
AmplabJenkins
commented
May 21, 2014
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/15121/ |
marmbrus
commented
May 31, 2014
This is getting closer. Thanks for working on it! |
marmbrus
commented
May 31, 2014
Can you add "[SPARK-1495][SQL]" to the PR title? |
AmplabJenkins
commented
Jun 3, 2014
Merged build triggered. |
adrian-wang
commented
Jun 3, 2014
Hi Michael, when I was adding the Scala doc, I realized that if the join is not calculated in LeftSemiJoinHash, then it simply means there's no join keys for the left semi join. Then if I pushed down those predicates and conditions(all of them can be pushed down), I only need to verify the if right table size is null here, to decide whether to output the left table. So LeftSemiJoinBNL would be very much excessive. Am I right? |
AmplabJenkins
commented
Jun 3, 2014
Merged build finished. All automated tests passed. |
AmplabJenkins
commented
Jun 3, 2014
All automated tests passed. |
There was a problem hiding this comment.
I think in general we should avoid making too many assumptions in the planner about what optimizations have occurred. For example, in the future we might avoid pushing down predicates that are very expensive to evaluate as it might be cheaper to run them on an already filtered set of data. However, in the case of LEFT SEMI JOIN, I think it is actually okay to push all evaluation into the join condition, even if they only refer to the left table. Is that true?
There was a problem hiding this comment.
Yes, I think LEFT SEMI JOIN would not suffer by pushing down predicates.
marmbrus
commented
Jun 7, 2014
(I deleted my earlier comment because I found a mistake) I think this is looking pretty good, but we should at least add one test for the Broadcast Nested Loop version. Here's a PR against your branch that does that: adrian-wang#1 |
AmplabJenkins
commented
Jun 8, 2014
Merged build triggered. |
AmplabJenkins
commented
Jun 8, 2014
Merged build started. |
AmplabJenkins
commented
Jun 8, 2014
Merged build finished. All automated tests passed. |
AmplabJenkins
commented
Jun 8, 2014
All automated tests passed. |
Just submit another solution for #395 Author: Daoyuan <daoyuan.wang@intel.com> Author: Michael Armbrust <michael@databricks.com> Author: Daoyuan Wang <daoyuan.wang@intel.com> Closes#837 from adrian-wang/left-semi-join-support and squashes the following commits: d39cd12 [Daoyuan Wang] Merge pull request #1 from marmbrus/pr/837 6713c09 [Michael Armbrust] Better debugging for failed query tests. 035b73e [Michael Armbrust] Add test for left semi that can't be done with a hash join. 5ec6fa4 [Michael Armbrust] Add left semi to SQL Parser. 4c726e5 [Daoyuan] improvement according to Michael 8d4a121 [Daoyuan] add golden files for leftsemijoin 83a3c8a [Daoyuan] scala style fix 14cff80 [Daoyuan] add support for left semi join (cherry picked from commit 0cf6002) Signed-off-by: Michael Armbrust <michael@databricks.com>
marmbrus
commented
Jun 9, 2014
Thanks! I've merged this into 1.0 and master. |
Some improvement for PR #837, add another case to white list and use `filter` to build result iterator. Author: Daoyuan <daoyuan.wang@intel.com> Closes#1049 from adrian-wang/clean-LeftSemiJoinHash and squashes the following commits: b314d5a [Daoyuan] change hashSet name 27579a9 [Daoyuan] add semijoin to white list and use filter to create new iterator in LeftSemiJoinBNL Signed-off-by: Michael Armbrust <michael@databricks.com>
Some improvement for PR #837, add another case to white list and use `filter` to build result iterator. Author: Daoyuan <daoyuan.wang@intel.com> Closes#1049 from adrian-wang/clean-LeftSemiJoinHash and squashes the following commits: b314d5a [Daoyuan] change hashSet name 27579a9 [Daoyuan] add semijoin to white list and use filter to create new iterator in LeftSemiJoinBNL Signed-off-by: Michael Armbrust <michael@databricks.com> (cherry picked from commit ce6deb1) Signed-off-by: Michael Armbrust <michael@databricks.com>
Just submit another solution for apache#395 Author: Daoyuan <daoyuan.wang@intel.com> Author: Michael Armbrust <michael@databricks.com> Author: Daoyuan Wang <daoyuan.wang@intel.com> Closesapache#837 from adrian-wang/left-semi-join-support and squashes the following commits: d39cd12 [Daoyuan Wang] Merge pull request apache#1 from marmbrus/pr/837 6713c09 [Michael Armbrust] Better debugging for failed query tests. 035b73e [Michael Armbrust] Add test for left semi that can't be done with a hash join. 5ec6fa4 [Michael Armbrust] Add left semi to SQL Parser. 4c726e5 [Daoyuan] improvement according to Michael 8d4a121 [Daoyuan] add golden files for leftsemijoin 83a3c8a [Daoyuan] scala style fix 14cff80 [Daoyuan] add support for left semi join
Some improvement for PR apache#837, add another case to white list and use `filter` to build result iterator. Author: Daoyuan <daoyuan.wang@intel.com> Closesapache#1049 from adrian-wang/clean-LeftSemiJoinHash and squashes the following commits: b314d5a [Daoyuan] change hashSet name 27579a9 [Daoyuan] add semijoin to white list and use filter to create new iterator in LeftSemiJoinBNL Signed-off-by: Michael Armbrust <michael@databricks.com>
Just submit another solution for apache#395 Author: Daoyuan <daoyuan.wang@intel.com> Author: Michael Armbrust <michael@databricks.com> Author: Daoyuan Wang <daoyuan.wang@intel.com> Closesapache#837 from adrian-wang/left-semi-join-support and squashes the following commits: d39cd12 [Daoyuan Wang] Merge pull request apache#1 from marmbrus/pr/837 6713c09 [Michael Armbrust] Better debugging for failed query tests. 035b73e [Michael Armbrust] Add test for left semi that can't be done with a hash join. 5ec6fa4 [Michael Armbrust] Add left semi to SQL Parser. 4c726e5 [Daoyuan] improvement according to Michael 8d4a121 [Daoyuan] add golden files for leftsemijoin 83a3c8a [Daoyuan] scala style fix 14cff80 [Daoyuan] add support for left semi join
Some improvement for PR apache#837, add another case to white list and use `filter` to build result iterator. Author: Daoyuan <daoyuan.wang@intel.com> Closesapache#1049 from adrian-wang/clean-LeftSemiJoinHash and squashes the following commits: b314d5a [Daoyuan] change hashSet name 27579a9 [Daoyuan] add semijoin to white list and use filter to create new iterator in LeftSemiJoinBNL Signed-off-by: Michael Armbrust <michael@databricks.com>
Just submit another solution for #395