-
Notifications
You must be signed in to change notification settings - Fork 206
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
feat: impl parallel get_byte_ranges for ObjectStoreReader #450
feat: impl parallel get_byte_ranges for ObjectStoreReader #450
Conversation
analytic_engine/src/sst/metrics.rs
Outdated
pub static ref SST_GET_RANGE_HISTOGRAM: Histogram = register_histogram!( | ||
"sst_get_range_length", | ||
"Histogram for sst get range length", | ||
vec!(100.0, 500.0, 1024.0, 1024.0 * 5.0, 1024.0 * 100.0, 1024.0 * 1000.0 * 5.0, 1024.0 * 1000.0 * 1000.0, 1024.0 * 1000.0 * 1000.0 * 5.0) |
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.
https://docs.rs/prometheus/latest/prometheus/fn.exponential_buckets.html
exponential_buckets(100, 2, 10);
This range cover [100B, 2K)
, this is enough for rowgroup with 8192 rows.
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.
LGTM
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.
LGTM
* feat: impl parallel get_byte_ranges for ObjectStoreReader * chore: add sst_get_range_length_histogram in ObjectStoreReader * fix ci * refactor by CR
Which issue does this PR close?
Closes #
Rationale for this change
The default implementation of
get_byte_ranges
inAsyncFileReader
is sequentially.Refer to: https://github.com/apache/arrow-rs/blob/99ced481308e870f69792e49cd23a529fa3ccc70/parquet/src/arrow/async_reader.rs#L124-L140
What changes are included in this PR?
get_byte_ranges
usingget_ranges
inObjectStore
.get_range
.Are there any user-facing changes?
No.
How does this change test
Manual testing.