Skip to content
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

[SPARK-12085] [SQL] The join condition hidden in DNF can't be pushed down to join operator #10087

Closed
wants to merge 2 commits into from

Conversation

flyson
Copy link

@flyson flyson commented Dec 2, 2015

This patch analyzes the filter expression represented as DNF and extract the common equality conditions that match the join relations and expose it out so that the join condition can be pushed down by PushPredicateThroughJoin rule.

With this patch we saw significant performance improvement on TPC-H q19.

@AmplabJenkins
Copy link

Can one of the admins verify this patch?


/**
* Extracts the equal-join condition if any, so that query planner avoids generating cartsian
* product which cause out of memory exception, and performance issues
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we make this rule simpler and more general? It seems the rule is aptly named, "CNF factorization", and should just do a transformation on expressions (instead of transforming the plan tree and specific to joins). The rest of the rules should then properly fix the join i think.

@maropu
Copy link
Member

maropu commented Dec 21, 2015

@flyson Great work though, you'd better to work with #8200 .

@rxin
Copy link
Contributor

rxin commented Jun 15, 2016

Thanks for the pull request. I'm going through a list of pull requests to cut them down since the sheer number is breaking some of the tooling we have. Due to lack of activity on this pull request, I'm going to push a commit to close it. Feel free to reopen it or create a new one.

@asfgit asfgit closed this in 1a33f2e Jun 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants