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-47547][SQL] Fix inaccurate false positive rates when N is large for Bloom Filter #46370

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

batubond007
Copy link

@batubond007 batubond007 commented May 3, 2024

What changes were proposed in this pull request?

This PR introduces a new 128 bit hashing function based on Guava's solution. Bloom filter is now created based on hashing strategy, which is decided by the bit size of the Bloom Filter.

Why are the changes needed?

When the decided bit size by Bloom Filter is greater than Integer.MAX_VALUE, 32 bit hashing function wastes the bits which index is greater than Integer.MAX_VALUE.

Does this PR introduce any user-facing change?

No, hashing function is decided by BloomFilter.

How was this patch tested?

Added UT for new hashing function. Manually tested the BloomFilter with N is near 500 million.

Was this patch authored or co-authored using generative AI tooling?

No.

…e for Bloom Filter

### What changes were proposed in this pull request?

This PR introduces a new 128 bit hashing function based on Guava's solution. Bloom filter is now created based on hashing strategy, which is decided by the bit size of the Bloom Filter.

### Why are the changes needed?

When the decided bit size by Bloom Filter is greater than Integer.MAX_VALUE, 32 bit hashing function wastes the bits which index is greater than Integer.MAX_VALUE.

### Does this PR introduce _any_ user-facing change?

No, hashing function is decided by BloomFilter.

### How was this patch tested?

Added UT for new hashing function. Manually tested the BloomFilter with N is near 500 million.

### Was this patch authored or co-authored using generative AI tooling?

No.
@github-actions github-actions bot added the SQL label May 3, 2024
@batubond007 batubond007 changed the title [SPARK-47547][SQL] Fix inaccurate false positive rates when N is larg… [SPARK-47547][SQL] Fix inaccurate false positive rates when N is large for Bloom Filter May 3, 2024
@batubond007
Copy link
Author

Hi @dongjoon-hyun , can you please review this pr which is also my first one?

@batubond007
Copy link
Author

Gentle ping @dongjoon-hyun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
1 participant