Repository navigation
feat: support bloom filters in native Iceberg writes #5724
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
Open
NikitaMatskevich
wants to merge
33
commits into
apache:main
Choose a base branch
from
NikitaMatskevich:feat/iceberg-bloom-filter-writes
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
66070ea
feat: support bloom filters in native Iceberg writes
NikitaMatskevich 1d9cc5f
feat: support Iceberg bloom filter write settings
NikitaMatskevich 7fbe2f1
fix: fall back for sanitized Iceberg bloom paths
NikitaMatskevich c8bc951
test: gate Iceberg bloom shape properties independently
NikitaMatskevich 5988d52
fix: match Iceberg-version bloom property support
NikitaMatskevich aea5d10
fix: use Parquet 59 bloom filter APIs
NikitaMatskevich 6c8e05a
fix: satisfy formatting checks
NikitaMatskevich 20bde04
docs: describe Parquet 59 bloom folding
NikitaMatskevich 3b96fa6
fix: reject zero bloom filter FPP
NikitaMatskevich 94a89fd
fix: ignore unused bloom max byte caps
NikitaMatskevich 9693fb3
test: document bloom folding after writes
NikitaMatskevich 6823b6d
test: lock bloom sizing parity across runtimes
NikitaMatskevich 8b6de0a
refactor: group Iceberg bloom column settings
NikitaMatskevich 59be1e7
fix: match Iceberg bloom path resolution by version
NikitaMatskevich 28f568b
feat: make native Iceberg bloom folding opt-in
NikitaMatskevich fe5683d
fix: integrate Bloom write opt-in with current Iceberg writer
NikitaMatskevich a444bfa
docs: clarify native Iceberg Bloom filter tradeoffs
NikitaMatskevich 780f099
docs: simplify Bloom filter compatibility introduction
NikitaMatskevich 14bffc5
docs: list exceptional Bloom filter fallback cases
NikitaMatskevich 9310203
docs: remove upstream folding work from user guide
NikitaMatskevich 1ab6fb2
docs: group Bloom write prerequisites under accepted divergences
NikitaMatskevich e431811
fix: fall back for floating-point Iceberg Bloom writes
NikitaMatskevich 74665a8
fix: ignore unconfigured columns in Iceberg Bloom path checks
NikitaMatskevich 4b1d10b
fix: fall back for unidentified Iceberg Bloom naming conventions
NikitaMatskevich efb3500
docs: clarify Iceberg Bloom opt-in and unused caps
NikitaMatskevich b3424a4
test: cover Iceberg Bloom parity across physical types
NikitaMatskevich 28a2d08
fix: bound Iceberg Bloom synthetic NDV search
NikitaMatskevich 51f79aa
bench: compare native Iceberg Bloom writes
NikitaMatskevich 47da284
bench: remove one-off Bloom measurement runner
NikitaMatskevich ed02405
fix: limit native Bloom writes to modern Iceberg runtimes
NikitaMatskevich c07c70b
fix: remove redundant interpolation in Bloom write test
NikitaMatskevich a60972c
fix: remove unused Bloom test callback parameters
NikitaMatskevich c978871
docs: align Bloom eligibility with supported Spark profiles
NikitaMatskevich File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One more file-level difference could go in this list.
build_writer_propertieskeeps parquet-rs's defaultBloomFilterPosition::AfterRowGroup, so each row group's filters follow that row group, while parquet-java writes every filter inParquetFileWriter.end()after the last row group. Readers find filters throughbloom_filter_offset, so I do not see one that could observe it, but listing it with that reason would match the other entries.