-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[WIP] Update to arrow, parquet 57.1.0
#18820
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
base: main
Are you sure you want to change the base?
Conversation
| | alltypes_plain.parquet | 1851 | 6957 | 2 | page_index=false | | ||
| | alltypes_tiny_pages.parquet | 454233 | 267014 | 2 | page_index=true | | ||
| | lz4_raw_compressed_larger.parquet | 380836 | 996 | 2 | page_index=false | | ||
| | alltypes_plain.parquet | 1851 | 8882 | 2 | page_index=false | |
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.
the metadata didn't actually get bigger, we just actually included the encryption information (better reporting)
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.
Actually I looked into it more and I think the size growth is a bug. See
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.
Update: the size is correct. As @etseidl says "the truth hurts"
|
🤖 |
|
🤖: Benchmark completed Details
|
|
🤖 |
| query TTT | ||
| select arrow_typeof(column1), arrow_typeof(column2), arrow_typeof(column3) from arrays; | ||
| ---- | ||
| List(nullable List(nullable Int64)) List(nullable Float64) List(nullable Utf8) |
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.
Previously the DataType parsing code did not handle this syntax (it only supported List(Float64)). We have now made the display and parsing consistent, see apache/arrow-rs#8649 (comment) for background and details
| | alltypes_plain.parquet | 1851 | 6957 | 2 | page_index=false | | ||
| | alltypes_tiny_pages.parquet | 454233 | 267014 | 2 | page_index=true | | ||
| | lz4_raw_compressed_larger.parquet | 380836 | 996 | 2 | page_index=false | | ||
| | alltypes_plain.parquet | 1851 | 8882 | 2 | page_index=false | |
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.
Actually I looked into it more and I think the size growth is a bug. See
|
🤖: Benchmark completed Details
|
fafb102 to
191db07
Compare
191db07 to
5a91551
Compare
5a91551 to
9eab2c3
Compare
| | alltypes_plain.parquet | 1851 | 6957 | 2 | page_index=false | | ||
| | alltypes_tiny_pages.parquet | 454233 | 267014 | 2 | page_index=true | | ||
| | lz4_raw_compressed_larger.parquet | 380836 | 996 | 2 | page_index=false | | ||
| | alltypes_plain.parquet | 1851 | 8882 | 2 | page_index=false | |
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.
Update: the size is correct. As @etseidl says "the truth hurts"
| /// the filters are applied in the same order as written in the query | ||
| pub reorder_filters: bool, default = false | ||
|
|
||
| /// (reading) Force the use of RowSelections for filter results, when |
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.
This is an escape valve if we find some issue when using the new adaptive filter from @hhhizzz
| assert_contains!( | ||
| &e, | ||
| r#"Error during planning: Can not find compatible types to compare Boolean with [Struct("foo": Boolean), Utf8]"# | ||
| r#"Error during planning: Can not find compatible types to compare Boolean with [Struct("foo": non-null Boolean), Utf8]"# |
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.
these are due the changes from apache/arrow-rs#8648 to clean up datatype display. It is a nice improvement in my mind
| // The cache is on by default, and used when filter pushdown is enabled | ||
| PredicateCacheTest { | ||
| expected_inner_records: 8, | ||
| expected_records: 7, // reads more than necessary from the cache as then another bitmap is applied |
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.
this behavior changed due to adaptive filtering. I added a new test that turns off adaptive filtering to show doing so restores the old behavior
It seems to be quite a bit faster even without filter pushdown 🚀 |
It is like someone has been optimizing low level filter kernels 😆 (but seriously I think major credit is due to you and @rluvaton ) |
Which issue does this PR close?
57.1.0(November 2025) arrow-rs#8464Rationale for this change
Get latest and greatest code from arrow
What changes are included in this PR?
TODO:
Are these changes tested?
Yes, by CI
Are there any user-facing changes?
No