Skip to content

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

@github-actions
Copy link

We're closing this PR because it hasn't been updated in a while. This isn't a judgement on the merit of the PR in any way. It's just a way of keeping the PR queue manageable.
If you'd like to revive this PR, please reopen it and ask a committer to remove the Stale tag!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant