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

Implement build-side rules for shuffle hash join #342

Merged
merged 3 commits into from
Jul 14, 2020

Conversation

andygrove
Copy link
Contributor

@andygrove andygrove commented Jul 10, 2020

This PR implements the same logic that Spark uses to determine whether the left or right side of a shuffle hash join can safely be used as the build side.

This fixed one test failure in the AQE proof-of-concept work (hash right join).

@andygrove andygrove added this to the Jul 6 - Jul 17 milestone Jul 10, 2020
@andygrove andygrove self-assigned this Jul 10, 2020
@andygrove
Copy link
Contributor Author

build

@tgravescs
Copy link
Collaborator

overall this makes sense. At the time I implemented this I think all we supported was left and inner joins and I probably should have tagged it better to ensure that.

condition.map(_.convertToGpu()),
childPlans(0).convertIfNeeded(),
childPlans(1).convertIfNeeded())
}

private def canBuildRight(joinType: JoinType): Boolean = joinType match {
Copy link
Collaborator

Choose a reason for hiding this comment

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

might be nice to add comment about these must match the spark join selection critera for ShuffledHashJoinExec

@andygrove
Copy link
Contributor Author

build

@andygrove andygrove changed the title [WIP] Implement build-side rules for shuffle hash join Implement build-side rules for shuffle hash join Jul 10, 2020
@sameerz sameerz added performance A performance related task/issue bug Something isn't working and removed performance A performance related task/issue labels Jul 11, 2020
@andygrove andygrove merged commit b0c0989 into NVIDIA:branch-0.2 Jul 14, 2020
@andygrove andygrove deleted the shuffle-hash-join-build-side branch July 14, 2020 14:42
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
tgravescs pushed a commit to tgravescs/spark-rapids that referenced this pull request Nov 30, 2023
Signed-off-by: spark-rapids automation <70000568+nvauto@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants