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

Java bindings for cudf::hash_join #9080

Merged
merged 1 commit into from
Aug 20, 2021

Conversation

jlowe
Copy link
Member

@jlowe jlowe commented Aug 19, 2021

Adds Java APIs to build a hash table for the right side table in a join and re-use it to join against a series of left probe tables. It also exposes the ability to compute the join output row count and pass that count to a subsequent call to produce the join gather maps to avoid redundant computation when the output row count must be examined before manifesting the gather maps.

@jlowe jlowe added Java Affects Java cuDF API. 4 - Needs cuDF (Java) Reviewer improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Aug 19, 2021
@jlowe jlowe self-assigned this Aug 19, 2021
@jlowe jlowe requested a review from a team as a code owner August 19, 2021 23:11
@github-actions github-actions bot added the CMake CMake build issue label Aug 19, 2021
@codecov
Copy link

codecov bot commented Aug 20, 2021

Codecov Report

❗ No coverage uploaded for pull request base (branch-21.10@8b02ca3). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@               Coverage Diff               @@
##             branch-21.10    #9080   +/-   ##
===============================================
  Coverage                ?   10.71%           
===============================================
  Files                   ?      114           
  Lines                   ?    19093           
  Branches                ?        0           
===============================================
  Hits                    ?     2046           
  Misses                  ?    17047           
  Partials                ?        0           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8b02ca3...f3480fd. Read the comment docs.

Copy link
Contributor

@revans2 revans2 left a comment

Choose a reason for hiding this comment

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

The code looks fine. I would love to see if we could some how make this spillable, and how expensive spilling would be compared to re-building it. For broadcast joins the size of the build table should be small enough that it would be ideal to keep the table in memory all the time, but that would require that the build side Spark picks matches the build side that cudf supports.

@jlowe
Copy link
Member Author

jlowe commented Aug 20, 2021

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 3ea4b42 into rapidsai:branch-21.10 Aug 20, 2021
@jlowe jlowe deleted the jni-hash-join-output-size branch August 20, 2021 15:15
@vyasr vyasr added 4 - Needs Review Waiting for reviewer to review or respond and removed 4 - Needs cuDF (Java) Reviewer labels Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - Needs Review Waiting for reviewer to review or respond CMake CMake build issue improvement Improvement / enhancement to an existing function Java Affects Java cuDF API. non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants