-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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(rust): generalize the cloud storage builders #5972
feat(rust): generalize the cloud storage builders #5972
Conversation
8451c0b
to
3e098e7
Compare
c0b963f
to
563781b
Compare
I got some help from the developers of This code is ready to review at your convenience. I am not sure how to fully enable it in the Python side... @ritchie46 |
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.
Thanks @winding-lines! I have a few small remarks.
@ritchie46 addressed feedback, tests are passing, ready for more feedback or merge 🤗 |
@winding-lines when object_store adds more backends in the future, will it require changes in polars as well or is it generalized now? because I see that in their main/ master branch HTTP has also been added. |
@chitralverma in the current iteration the deltalake and object_store teams have refactored some code out of the former and put in the latter. I think we can also contribute our current layer upstream so that any future changes will be integrated just by recompiling. Given that this PR has been open for a while my preference would be to merge it and then release a polars version so that I can do more testing at work. Let me know what you think :) |
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.
Thanks a lot @winding-lines. I have only two remarks with respect to dependencies.
If you can fix those and the conflicts it is good to go.
baba317
to
6f2c89c
Compare
@ritchie46 addressed feedback, tests are passing :-) Many thanks! |
7e0f848
to
4d5b9f2
Compare
thanks @ritchie46 ❤️ |
This PR generalizes the parquet support for cloud urls. It enables all the backends supported by
object_store
.This PR threads through the code the required cloud options, as opposed to using the process environment. This reduces the magic provided by global state (std::env) at the expense of more changes for the different layers. I personally prefer more explicit options/settings passing.
This PR also breaks the existing
object_store.rs
into a module, that file was getting bigger and had a poor cohesion.Feedback appreciated.