-
Notifications
You must be signed in to change notification settings - Fork 926
Poc for adaptive parquet predicate pushdown(bitmap/range) with page cache(3 data pages) #7454
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
zhuqi-lucas
wants to merge
91
commits into
apache:main
Choose a base branch
from
zhuqi-lucas:unified_select
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
91 commits
Select commit
Hold shift + click to select a range
cc6dd14
update
XiangpengHao 5837fc7
update
XiangpengHao fec6313
update
XiangpengHao 948db87
update
XiangpengHao 8c50d90
poc reader
XiangpengHao f5422ce
update
XiangpengHao dfdc1b6
avoid recreating new buffers
XiangpengHao 3c526f8
update
XiangpengHao 53f5fad
bug fix
XiangpengHao 56980de
selective cache
XiangpengHao 4dd1b6b
clean up changes
XiangpengHao f8f983e
clean up more and format
XiangpengHao 882aaf1
cleanup and add docs
XiangpengHao c8bdbcf
switch to mutex instead of rwlock
XiangpengHao cdb1d85
revert irrelevant changes
XiangpengHao 69720e5
submodule
XiangpengHao a9550ab
update
XiangpengHao be1435f
rebase
XiangpengHao e4d9eb7
Merge remote-tracking branch 'upstream/main' into better-decoder
XiangpengHao 21e015b
remove unrelated changes
XiangpengHao bbc3595
Merge remote-tracking branch 'upstream/main' into better-decoder
XiangpengHao 547fb46
fix clippy
XiangpengHao 05c8c8f
make various ci improvements
XiangpengHao 314fda1
Merge remote-tracking branch 'apache/main' into better-decoder
alamb c895dd2
whitespace
alamb 3cf0a98
Reduce some ugliness, avoid unwrap
alamb 7b72f9d
more factory
alamb 5bdf51a
lint
alamb a77e1e7
Merge remote-tracking branch 'apache/main' into better-decoder
alamb 90a55d5
Isolate reader cache more
alamb 9ffa81c
Merge remote-tracking branch 'apache/main' into better-decoder
alamb 7c10b4a
Merge remote-tracking branch 'apache/main' into better-decoder
alamb 822760c
Add benchmark for parquet reader with row_filter and project settings
zhuqi-lucas 31a544f
fix clippy
zhuqi-lucas b16428d
change bench mark to use asyn read to trigger the page cache
zhuqi-lucas 1aacd01
fix
zhuqi-lucas 2d58006
Merge remote-tracking branch 'upstream/main' into benchmark_row_filter
zhuqi-lucas 768826e
fix
zhuqi-lucas f624b91
Update comments, add background
alamb 6c28e44
incremently addressing the comments
zhuqi-lucas 69a2617
Fix bool random
zhuqi-lucas b044813
Merge commit '69a2617' into alamb/docs_for_bench
alamb 6a37818
fixup
alamb 2f6ccbb
Add fn switch and project enum
zhuqi-lucas 994c747
Merge pull request #1 from alamb/alamb/docs_for_bench
zhuqi-lucas d0a656b
Fix clippy
zhuqi-lucas 67480b9
Address comment
zhuqi-lucas 16bc1bf
Add float(half set) and int(full set) change
zhuqi-lucas a4bedbd
Merge branch 'benchmark_row_filter' of github.com:zhuqi-lucas/arrow-r…
zhuqi-lucas d0ab2fe
Fix corner case: skipping page should also make dic page to none
zhuqi-lucas 7638c41
Address comments
zhuqi-lucas 8fc992b
Merge branch 'benchmark_row_filter' into better-decoder
zhuqi-lucas 9271cc9
Set compression
zhuqi-lucas 8e00ac5
fix
zhuqi-lucas 36346aa
Merge branch 'benchmark_row_filter' into better-decoder
zhuqi-lucas 890519e
Update comments
alamb 7eb0476
refactor filter column indexes
alamb 22c7b39
Read from in memory buffer
alamb 86878ab
Merge remote-tracking branch 'apache/main' into benchmark_row_filter
alamb 5ae9b58
celanu
alamb 1effe88
Test both sync and async readers
alamb 74abec0
Merge branch 'benchmark_row_filter' into better-decoder
zhuqi-lucas 6ea0eef
Merge branch 'main' into better-decoder
zhuqi-lucas 0c3aa9b
Improve the performance for skip record
zhuqi-lucas a1d3496
Init the boolean_selector
zhuqi-lucas 2d6c866
Init version for unified select
zhuqi-lucas 1e9b6e5
Change to use filter
zhuqi-lucas 21dadbe
Fix then
zhuqi-lucas 3fe4cef
Adaptive push down
zhuqi-lucas e5aad7c
Fix
zhuqi-lucas fa0bf69
Merge branch 'better-decoder' into unified_select
zhuqi-lucas 6432de2
Init: combine page cache with unified select
zhuqi-lucas d26de88
Perf: make the cache not missing to avoid some clickbench regression
zhuqi-lucas 04ca371
Revert "Improve the performance for skip record"
zhuqi-lucas c099788
Merge branch 'polish_better_decoder' into unified_select
zhuqi-lucas c045a4a
Combine with page cache
zhuqi-lucas 6e32d3b
Need to fix
zhuqi-lucas b80f596
Add performance good result
zhuqi-lucas 01d1dea
Fix
zhuqi-lucas 7bcd011
Remove unused for the improvement
zhuqi-lucas 123c3ad
Fix part of test
zhuqi-lucas efcc0de
Add new testing
zhuqi-lucas 8495fbc
Merge remote-tracking branch 'upstream/main' into unified_select
zhuqi-lucas 61290ab
Fix clippy
zhuqi-lucas b67b92c
Fix test
zhuqi-lucas 774bed5
Clippy fix
zhuqi-lucas 0ad20e5
Clippy fix
zhuqi-lucas ceceb8e
Fix 3 data page testing
zhuqi-lucas bc02e2a
Fix encrption error handling for new page cache logic
zhuqi-lucas a4065cc
Update parquet testing
zhuqi-lucas 269b396
Clean up code
zhuqi-lucas 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
Oops, something went wrong.
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.
BTW I hope to reuse some/all of this code (so it can iterate based on BitMap or RowSelection)
My idea is to switch this code to use a different structure than
RowSelection
(something likeResolvedRowSelection
)This control flow I think is very similar to what @tustvold describes in #5523
The remaining open question in my mind is what heuristics to use to decide when to use RowSelection/ranges and when to use BitMaps.
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.
Thank you @alamb , i think the first initial adaptive case is that if each select/skip is very small and dense, for example < 10, we should use bitmap from testing result. I can do more test based on your read plan PR wit cache merged.