Skip to content
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

[Python] Devise a means to serialize arrays of arbitrary Python objects in Arrow IPC messages #16431

Closed
asfimport opened this issue Apr 14, 2017 · 4 comments

Comments

@asfimport
Copy link

Practically speaking, this would involve a "custom" logical type that is "pyobject", represented physically as an array of 64-bit pointers. On serialization, this would need to be converted to a BinaryArray containing pickled objects as binary values

At the moment, we don't yet have the machinery to deal with "custom" types where the in-memory representation is different from the on-wire representation. This would be a useful use case to work through the design issues

Interestingly, if done properly, this would enable other Arrow implementations to manipulate (filter, etc.) serialized Python objects as binary blobs.

Reporter: Wes McKinney / @wesm

Note: This issue was originally created as ARROW-823. Please see the migration documentation for further details.

@asfimport
Copy link
Author

Uwe Korn / @xhochy:
For me this issue depends also on how we represent custom/shared Pandas/Python metadata in Arrow and Parquet. While this will not fully solves the issue, I think that discussion is one of the requirements.

@asfimport
Copy link
Author

Wes McKinney / @wesm:
This can be implemented now with ExtensionType

@asfimport
Copy link
Author

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
I think we should directly people towards the standard pickle module. It's not obvious that putting Python objects in an Arrow array would bring a tangible improvement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant