You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Dewey Dunnington (Jira)" <ji...@apache.org> on 2021/11/03 12:58:00 UTC
[jira] [Commented] (ARROW-14378) [R] Make custom extension classes
for (some) cols with row-level metadata
[ https://issues.apache.org/jira/browse/ARROW-14378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17438041#comment-17438041 ]
Dewey Dunnington commented on ARROW-14378:
------------------------------------------
It's worth checking out how jsonlite does this because it's a similar idea (arbitrary R objects to type agnostic storage format with restricted storage modes). It's done through a (non-exported) generic `jsonlite::asJSON()` and sf/sfc is supported (via GeoJSON): [https://github.com/jeroen/jsonlite/blob/master/R/asJSON.sf.R]
It might be worth exploring exported S3 generics (maybe `as_ArrowArray()`/`restore_ArrowArray()`?) that theoretically other packages could implement to serialize and unserialize objects to- and from Arrow storage. If that were the case just like jsonlite, we'd probably implement methods for the most common types.
Just spitballing here!
> [R] Make custom extension classes for (some) cols with row-level metadata
> -------------------------------------------------------------------------
>
> Key: ARROW-14378
> URL: https://issues.apache.org/jira/browse/ARROW-14378
> Project: Apache Arrow
> Issue Type: Improvement
> Components: R
> Reporter: Jonathan Keane
> Assignee: Dewey Dunnington
> Priority: Major
>
> The major usecase for this is SF columns which have attributes/metadata for each element of a column. We originally stored these in our standard column-level metadata, but that was very fragile and took forever, so we disabled it ARROW-13189
> This will likely take some steps to accomplish. I've sketched out some in the subtasks here (though if we have a different approach, we could do that directly)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)